Serversocket :D

cs_SMoG Messages postés 27 Date d'inscription mardi 22 janvier 2002 Statut Membre Dernière intervention 3 juillet 2003 - 1 août 2002 à 20:17
bclass Messages postés 4 Date d'inscription samedi 30 octobre 2004 Statut Membre Dernière intervention 15 juillet 2009 - 17 déc. 2004 à 23:21
Bjour
Question toute conne mais pourtant assez difficile a traiter :

J'ai un serversocket. Trois clientsocket y sont connectés. L'un d'eux se déconnecte, comment je peux savoir lequel est ce ?

3 réponses

cs_Nono40 Messages postés 962 Date d'inscription mercredi 3 avril 2002 Statut Membre Dernière intervention 12 septembre 2006 2
1 août 2002 à 20:45
Si les trois ClientsSockets sont sur des postes différents, ils doivent avoir des adresses différentes. Tu peux récupérer l'adresse qui se déconnect facilement avec le TServerSocket.OnClientDisconnect :
procedure TFenPrincServeur.ServeurClientDisconnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
ShowMessage(Socket.RemoteAddress);
end;

Par contre si il y a plusieurs connections avec la même adresse il faut aussi comparer le Socket.SocketHandle :
procedure TFenPrincServeur.ServeurClientDisconnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
ShowMessage(Socket.RemoteAddress+' '+IntToStr(Socket.SocketHandle));
end;

--- :sleepy) Nono du Moulin :sleepy) ---
0
cs_Cyrille2 Messages postés 113 Date d'inscription vendredi 16 août 2002 Statut Membre Dernière intervention 15 mai 2005
6 oct. 2002 à 00:56
Il y a une autre solution (que j'emploi) si tu fais un chat à plus grande échelle, tu crées une classe (avec login, DNS, sexe, age, etc...) et tu la stockes ds socket.data :) Dc a la deco, tu peux acceder à toute les infos du client déconnecté !!
@ toi de voir

voici mon exemple de classe (celle que j'emploi):

TVisioClient = class(TObject)
Dns,
Login,
Password,
Privilege : String;

Etat : String[100];
Lieu : String[50];

Salons : TStringList;

Age,
Sexe : Integer;
LastMsg : TDateTime;
End;

Visitez http://www.visiomaster.net :)
0
bclass Messages postés 4 Date d'inscription samedi 30 octobre 2004 Statut Membre Dernière intervention 15 juillet 2009
17 déc. 2004 à 23:21
peut tu expliquer comment marcher SocketHandle et RemoteAddress ? stp ?

Par ex si le serveur socket fait RemoteAddress il recevoit l'ip du client a l'autre bout? c ca?

Et Handle il sert a koi?

( si tu pouvé me contactez sur bclass007@hotmail.com joré kelkes questions te poser ce serait sympa ;) )
0
Rejoignez-nous