Detecter déconnection

nem02004 Messages postés 47 Date d'inscription vendredi 21 mai 2004 Statut Membre Dernière intervention 23 avril 2007 - 5 janv. 2006 à 20:28
cs_lacousine Messages postés 58 Date d'inscription mardi 6 janvier 2004 Statut Membre Dernière intervention 13 juillet 2007 - 5 janv. 2006 à 22:27
Salut les programmeurs xD
Jai une connection socket ( irc ):
donc :
while (1) //Boucle infinie qui recoit les données
{
buf_recv=(char *)recv_ligne(sock);
Mais le truck, c que je ne peu pas detecter la déconnection :S comment la détéctée ? ( pas de (!buf_recv) parcke le recv_ligne tant ke ya rien il attend ).

Merci davance :D

Au fait pour ceux ki veuleent detecter la connexion:
-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
WSADATA Data;
WSAStartup (MAKEWORD (2, 2), &Data);
while (!Connection()) { }
MessageBox (NULL,"connexion Ok",NULL,NULL);
-*-*-*-*-*-*-*-*
BOOL Connection(){
SOCKADDR_IN SinDist;
int SockTest;
struct hostent *host;
SockTest = socket (AF_INET, SOCK_STREAM, 0);
SinDist.sin_family = AF_INET;
SinDist.sin_addr.s_addr = inet_addr ("www.google.fr");
SinDist.sin_port = htons (80);
if (SinDist.sin_addr.s_addr == -1)
{
host = gethostbyname ("www.google.fr");
if(host = gethostbyname ("www.google.fr")) { memcpy ((char *) &SinDist.sin_addr.s_addr, host->h_addr, host->h_length); }
}
if (connect (SockTest, (struct sockaddr *) &SinDist, sizeof (SOCKADDR_IN)) < 0) { return 0; }
closesocket(SockTest);
return 1;
}
-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

1 réponse

cs_lacousine Messages postés 58 Date d'inscription mardi 6 janvier 2004 Statut Membre Dernière intervention 13 juillet 2007
5 janv. 2006 à 22:27
De mémoire tu vas recevoir une grandeur de buffer = 0... ce qui signifie 2 choses: soit que tu as un socket non bloquant ou que le socket est fermé à l'autre bout.
0
Rejoignez-nous