Etat Socket Linux

Signaler
Messages postés
54
Date d'inscription
mercredi 9 juin 2004
Statut
Membre
Dernière intervention
10 janvier 2006
-
Messages postés
209
Date d'inscription
vendredi 11 avril 2003
Statut
Membre
Dernière intervention
14 août 2007
-
Existe-t-il un moyen de connaître sur un server (socket,C) l'état d'un
connection client (socket,C) utilisant le protocole SOCK_STREAM ?

Actuellement lorsque le client se déconnecte, la socket sur le server (nouvelle lors de la connexion) n'est pas mise à jour.



merci d'avance de votre aide...

1 réponse

Messages postés
209
Date d'inscription
vendredi 11 avril 2003
Statut
Membre
Dernière intervention
14 août 2007

Salut,

Je ne suis pas certain de ce que j'avance, mais je te propose ceci :

1. Sélection du descripteur de socket concerné :
int retval = select(sd, &sdRcpt, (fd_set *)NULL, (fd_set *)NULL, (struct timeval *) NULL);
où sd constitue l'identifiant de la socket et sdRcpt son descripteur associé.

2. Vérification de la modification du flux si l'instruction suivante :
if (FD_ISSET(sd, &sdRcpt))

s'avère vraie (ie. différent de zéro).

En espérant t'avoir aidé, je te conseille d'aller jeter un oeil sur cet excellent source :
http://www.cppfrance.com/code.aspx?ID=11141

Ciao.