Faire un timeout avec une socket TCP sur un connect() [Résolu]

Signaler
Messages postés
13
Date d'inscription
dimanche 28 septembre 2003
Statut
Membre
Dernière intervention
13 juin 2006
-
Messages postés
13
Date d'inscription
dimanche 28 septembre 2003
Statut
Membre
Dernière intervention
13 juin 2006
-
Salut tout le monde,

ca fait pas mal de temps que je me lutte pour faire un timeout sur une demande de connexion TCP.

En clair je voudrais pouvoir arreter l'appel bloquant a connect(..)
au bout d'un certain temps. Je dois absolument faire la connexion en TCP.

J'ai essayé "setsockopt" avec "SO_SNDTIMEO" et "SO_RCVTIMEO" mais ca ne marche que sur des receptions et emission de données...pas sur les connexions.

Si quelqu'un a une solution ?
merci

2 réponses

Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Statut
Modérateur
Dernière intervention
14 novembre 2014
13
Salut,
Parmi les solutions, tu peux utiliser les fonctions ioctlsocket() et select(). Je les utilise pour empecher le blocage de connect() en TCP.
Messages postés
13
Date d'inscription
dimanche 28 septembre 2003
Statut
Membre
Dernière intervention
13 juin 2006

ok merci,

j'ai pu trouver un exemple sur le site :
http://aqualinux.chez.tiscali.fr/commun/http/sockets_src.html

ca utilise bien ioctlsocket.

sympa a+ :big)