begin process at 2010 02 10 02:06:56
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Delphi

 > 

Réseau & Internet

 > 

Sockets

 > 

probleme à la deconnection ADSL


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

probleme à la deconnection ADSL

vendredi 11 janvier 2008 à 13:32:44 | probleme à la deconnection ADSL

aroslide

 procedure handle_fd_close_notification(p_socket: integer);
        var l_status,ArrayOffset: Integer;
            l_linger: TLinger;
            tmpmsg:string;
            l_absolute_linger: array[0..3] of char absolute l_linger;
            username:string;
            l_index_of_server_client_socket: Integer;
            cando:boolean;
            somme1:int64;
        begin
        username:='';

        tmpmsg:='';
        arrayoffset:=-1;
        ArrayOffset := dcusers.getindex(p_Socket); // recherche de l'index de l'utilisateur
        somme1:=0;
        cando:=false;
        if p_socket= g_server_socket_handle
        then begin
        end else begin
        if arrayoffset<>-1 then begin

        Username := PConnectedUser(dcUsers.Items[ArrayOffset])^.Username;
        cando:=PConnectedUser(dcUsers.Items[ArrayOffset])^.ValidateDenide; // test voir si l'utilisateur est bien enregistre sur le serveur

       if cando=true then begin
         somme1:=PConnectedUser(dcUsers.Items[ArrayOffset])^.Sharedbytes;
                      //if (somme1)=true then begin
         if somme1>0 then begin
          somme:=somme-somme1;
                      updateshare(somme);
         end;

        tmpmsg:='$Quit ' + Username;
           leavelistitem.Add(tmpmsg);     // ajout dans le buffer de sortie
           mainleavelist.Add(leavelistitem);
           deluser(username);   //effacement du nom de l'utilisateur dans la listview

        end;
        form1.logmessage(frame11.memo1,lmtinformation,ldnone,'[HUB] LOG : Closing('+  f_name_and_handle(p_socket)+' '+username+ ' share : '+inttostr(somme1)+ ')');

        dcusers.delete(ArrayOffset); // effacement de l'utilisateur dans la liste des utilisateurs
        end;
        end;
        dec(nbusers);
          ShutDown(p_socket, 2);
        l_linger.l_onoff:= 1;
        l_linger.l_linger:= 0;
        SetSockOpt(p_socket, Sol_Socket, So_Linger,l_absolute_linger, sizeof(l_linger));
        l_status:= CloseSocket(p_socket);
        if l_status<>0 then    form1.logmessage(frame11.memo1,lmtError,ldnone,'[HUB] ERROR : Error in closing client('+  f_name_and_handle(p_socket));

    
        end;


dès qu'il y a la déconection des 24 heures en adsl ou autre il ya un gros probleme d'exception du fait de la quantité d'utilisateurs connectes au serveur. et donc le serveur se fige et n'accepte plus aucunes connections ... si une personne a une idée ....



Cette discussion est classée dans : socket, username, somme1, linger, arrayoffset


Répondre à ce message

Sujets en rapport avec ce message

pb avec les composants reseaux [ par dampeel ] Je réalise un petit programme en ce moment et j'ai une question a poser à ce propos...J'utilise des composants serversocket et clientsocket pour réali transmitfile socket [ par Torre ] J'aimerais savoir si il est possible d'envoyer un fichier via le composant socket et si oui comment(un ptit exemple simple)Merci ;-) SOCKET DE MERDE (envoi et conection) [ par intello2001 ] jutilise Tserversocket et quand je me conecte avec Tclientsocket je peut envoyer avec le client si jessaye avec le server il me di quil y a une erreur Erreur socket [ par lanosic ] J'ai créer un chat en delphi avec les composant ClientSocket et ServerSocket. Mais il y a encore kelke erreur comme quand un client se déconnecte sa f Erreur socket ( manipulation difficile ) [ par Bruto ] Je suis entrain de faire un programme de chat mais je rencontre des difficultés avec les composants TClientSocket & TServerSocket.Mon principe est que tserversocket de me..... [ par intello2001 ] bon jarive toujours aps a reconaitre l'ID d'une multiconection :var Form1: TForm1;con: integer;implementation{$R *.dfm}procedure TForm1.ServerSocket1 encore tserversocket :'(.... [ par intello2001 ] j'ai bien suivi les conseil mais :var con: integer;procedure TForm1.serveurAccept(Sender: TObject; Socket: TCustomWinSocket);beginserveur.Socket.Accep ServerSocket .. help [ par fidji ] je cherche comment récupérer un Net Send Via le ServerSocket de cette façon : (mais je n'arrive pas a le faire marcher)procedure TForm1.ServerSocket1C ReceiveBuf et socket non-bloquant [ par Vin-s ] Salut à tous,Comment manipuler Socket.ReceiveBuf(buffer, longueur) ?Traditionellement, on initialize buffer avec setlength(buffer, socket.ReceiveLengt Socket data et connection[] [ par mickeydisn ] Voila Deux petit question.. tout d'abor quand pour utiliser le pointer socket.datapour un entier socket.data := pointer(i);


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,764 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales