(socket)Un connect bien chiant! [Résolu]

Signaler
Messages postés
42
Date d'inscription
mercredi 24 février 2010
Statut
Membre
Dernière intervention
27 juillet 2011
-
Messages postés
42
Date d'inscription
mercredi 24 février 2010
Statut
Membre
Dernière intervention
27 juillet 2011
-
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

Messages postés
109
Date d'inscription
samedi 3 novembre 2007
Statut
Membre
Dernière intervention
4 février 2016

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();
Messages postés
305
Date d'inscription
jeudi 29 avril 2004
Statut
Membre
Dernière intervention
18 janvier 2012

C'est vrai aymen87 un socket threadé résoudre le souchis, moi j'aime bien en tout cas.
Sinon voilà un petit lien : Lien.
Messages postés
180
Date d'inscription
mercredi 22 décembre 2004
Statut
Membre
Dernière intervention
16 août 2012
2
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.

@++
Messages postés
42
Date d'inscription
mercredi 24 février 2010
Statut
Membre
Dernière intervention
27 juillet 2011

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.
Messages postés
180
Date d'inscription
mercredi 22 décembre 2004
Statut
Membre
Dernière intervention
16 août 2012
2
As-tu essayer l'option O_NONBLOCK ?
Messages postés
42
Date d'inscription
mercredi 24 février 2010
Statut
Membre
Dernière intervention
27 juillet 2011

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
Messages postés
42
Date d'inscription
mercredi 24 février 2010
Statut
Membre
Dernière intervention
27 juillet 2011

J'ai poster sur d'autres forum et cela semble la réponse la plus viable merci.