La fonction de TCP/IP 'connect' reste figé.

Fermé
Rastakermit Messages postés 3 Date d'inscription dimanche 30 août 2015 Statut Membre Dernière intervention 29 août 2016 - 29 août 2016 à 23:45
mamiemando Messages postés 33545 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 25 février 2025 - 30 août 2016 à 09:49
En Utilisant la la fonction 'connect' pour une liaison TCP/IP, il reste figé s'il y a une micro-coupure.
Je suis serveur et j'ai un programme client qui se connecte très bien.
Il y a eu un changement de fournisseur de liaison VPN, je ne sais pas qui pour le moment, pour qui tout va bien.
Je constate que la liaison se fige sur un 'connect' et qui ne retourne aucun message d'erreur.
Ca devrait être un 0 pour dire que c'est bon et -1 si échec.
Mais il ne retourne rien.
Donc ma rustine consiste à mettre la fonction alarm(20) qui débloque la situation au bout de 20 sec.
Mais parfois c'est un SIGIOT qui stop le programme.
Si quelqu'un a une suggestion ?
Merci de votre aide.
A voir également:

1 réponse

mamiemando Messages postés 33545 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 25 février 2025 7 829
30 août 2016 à 09:49
Bonjour,

Il faudrait t'assurer que ton paquet est bien formé et contient les bonne information, en utilisant un outil comme wireshark.

Un point essentiel est de savoir si ce programme marchait avant le changement j'ai ton fournisseur de liaison, si tu l'as modifié entre le moment où ça marchait et le moment où ça n'a plus marché.

Enfin tu peux regarder ceci si tu veux faire un connect non bloquant plutôt que d'utiliser la rustine que tu évoques :
https://stackoverflow.com/questions/2652634/c-socket-programming-connect-hangs

Bonne chance
0