(socket)Un connect bien chiant!

Résolu
malefitrix Messages postés 42 Date d'inscription mercredi 24 février 2010 Statut Membre Dernière intervention 27 juillet 2011 - 25 juil. 2011 à 20:02
malefitrix Messages postés 42 Date d'inscription mercredi 24 février 2010 Statut Membre Dernière intervention 27 juillet 2011 - 27 juil. 2011 à 20:41
Bonjour,
j'aimerais que quand le connect des sockets en C n'arrive pas a ce connecter a un ip sois qu'il n'y a pas de serveur ect ne prenne pas 21 seconde avant de se terminer.
En gros je veut diminuer le temps du timeout de la fonction connect.

EX: Comme pour les pings on peut régler s'il ne reçois pas de réponse apprêt X ms il passe.

Note: Désoler pour mon orthographe déplorable.

Et merci.

Malefitrix

7 réponses

cs_aymen87 Messages postés 109 Date d'inscription samedi 3 novembre 2007 Statut Membre Dernière intervention 4 février 2016
27 juil. 2011 à 14:50
Si tu as vraiment besoin d'une réponse rapide et tu ne peux pas débloquer le socket tu pourrais essayer de lancer en parallèle un thread qui teste sur la réponse du connect();
3
cs_LA_Tupac Messages postés 305 Date d'inscription jeudi 29 avril 2004 Statut Membre Dernière intervention 18 janvier 2012 1
27 juil. 2011 à 15:15
C'est vrai aymen87 un socket threadé résoudre le souchis, moi j'aime bien en tout cas.
Sinon voilà un petit lien : Lien.
3
cs_Lucky92 Messages postés 180 Date d'inscription mercredi 22 décembre 2004 Statut Membre Dernière intervention 16 août 2012 2
26 juil. 2011 à 10:17
Salut,

A ma connaissance, la fonction connect n'est pas bloquante. Lorsqu'un serveur ne répond pas (absence ou refus de connection), le connect rend la main immédiatement.
Le bloquage de ton application doit avoir une autre explication.

@++
0
malefitrix Messages postés 42 Date d'inscription mercredi 24 février 2010 Statut Membre Dernière intervention 27 juillet 2011
26 juil. 2011 à 19:32
Naaa la fonction connect attend une réponse quand il envoi la demande ou si il a pas de réponse ont attend le timeout moi j'aimerais savoir comment diminuer se timeout car je doit attendre 21 sec ci il ne reçois aucune réponse.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Lucky92 Messages postés 180 Date d'inscription mercredi 22 décembre 2004 Statut Membre Dernière intervention 16 août 2012 2
26 juil. 2011 à 22:53
As-tu essayer l'option O_NONBLOCK ?
0
malefitrix Messages postés 42 Date d'inscription mercredi 24 février 2010 Statut Membre Dernière intervention 27 juillet 2011
26 juil. 2011 à 23:33
Vous pourriez me dire comment je doit utiliser cette option?

Et selon mes recherches même s'il est non bloquant on ne reçois pas la réponce avant le timeout si il n'y a pas de serveur qui répond donc du coups ça ne m'avance pas car je doit recevoir une réponse rapidement de la fonction connect.

Max_Skel
0
malefitrix Messages postés 42 Date d'inscription mercredi 24 février 2010 Statut Membre Dernière intervention 27 juillet 2011
27 juil. 2011 à 20:41
J'ai poster sur d'autres forum et cela semble la réponse la plus viable merci.
0
Rejoignez-nous