Détecter une perte de connexion en TCP/IP (Winsock) [Résolu]

Signaler
Messages postés
968
Date d'inscription
jeudi 20 mai 2004
Statut
Membre
Dernière intervention
26 avril 2013
-
Messages postés
968
Date d'inscription
jeudi 20 mai 2004
Statut
Membre
Dernière intervention
26 avril 2013
-
Bonjour,

Je développe une application client/serveur basé sur tcp/ip.
j'utilise la DLL WinSock.
Je voudrais savoir si il existe des fonctions afin de détecter une perte de la communication (ex: débranchement du câble réseau) ?
le seul moyen que j'ai de voir si il existe un problème mais sans pouvoir réellement en déterminer la cause est :
Nb_Caracteres_Recus=recv
(
Desc_Socket_Cliente,
Message_Recu,
sizeof(Message_Recu),
0
);
if(Nb_Caracteres_Recus<=0)
{				
Probleme=TRUE;
}


désirant améliorer mon programme, je voudrais savoir si des fonctions existent afin de mieux définir les erreurs réseaux possible...
merci!
 

9 réponses

Messages postés
1905
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
17 septembre 2012
2
Salut,
si recv < 0, tu peux appeler WSAGetLastError() pour obtenir le numéro d'erreur.
recv == 0 signifie que la connexion a été fermée normalement.
Messages postés
792
Date d'inscription
mardi 8 juillet 2003
Statut
Membre
Dernière intervention
12 juillet 2019
8
J'avais trouvé ma réponse à cette adresse :
http://files.codes-sources.com/fichier.aspx?id=40728&f=Detecteur%5Cdetecteur.cpp

louis
Messages postés
968
Date d'inscription
jeudi 20 mai 2004
Statut
Membre
Dernière intervention
26 avril 2013
1
Ok, merci de ton aide.
je vais me renseigner sur cette fonction mais ça semble être aprfaitement ce que je cherchais...

sinon j'ai posté un autre problème , malheureusement toujours sans réponse donc si tu t'y connais bien en TCP/IP....

 
Messages postés
792
Date d'inscription
mardi 8 juillet 2003
Statut
Membre
Dernière intervention
12 juillet 2019
8
Bonjour,
Si tu es sous windows, il y a des évènements qui permettent de savoir si le cable a été branché ou débranché. J'ai fait une application qui allait dans ce sens en utilisant des fonctions telles que "IsNetworkAlive" ou "ConnectionLost"


louis
Messages postés
968
Date d'inscription
jeudi 20 mai 2004
Statut
Membre
Dernière intervention
26 avril 2013
1
Salut,

Oui je suis sous windows! tu as poster ton projet sur ce site?
merci,

 
Messages postés
968
Date d'inscription
jeudi 20 mai 2004
Statut
Membre
Dernière intervention
26 avril 2013
1
Génial merci!!!

 
Messages postés
968
Date d'inscription
jeudi 20 mai 2004
Statut
Membre
Dernière intervention
26 avril 2013
1
Sympa ce code source mais il est indiqué que ceci ne marche qu'avec une connexion à un modem et non pas dans le cas d'un réseau entre différents PC à l'aide d'un HUB.


 
Messages postés
792
Date d'inscription
mardi 8 juillet 2003
Statut
Membre
Dernière intervention
12 juillet 2019
8
Je te rassure, j'utilise ce code et il me donne toute satisfaction.
Cela se résume à un message général qui correspond au message que l'on voit dans la barre de tâche " le cable réseau a été débranché".


louis
Messages postés
968
Date d'inscription
jeudi 20 mai 2004
Statut
Membre
Dernière intervention
26 avril 2013
1
Ok, super! Merci encore pour le lien.