Détecter une perte de connexion en TCP/IP (Winsock)

Résolu
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 - 25 janv. 2010 à 16:14
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 - 27 janv. 2010 à 09:45
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

cs_aardman Messages postés 1905 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 17 septembre 2012 3
25 janv. 2010 à 18:07
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.
3
cs_louis14 Messages postés 793 Date d'inscription mardi 8 juillet 2003 Statut Membre Dernière intervention 10 février 2021 8
26 janv. 2010 à 12:45
J'avais trouvé ma réponse à cette adresse :
http://files.codes-sources.com/fichier.aspx?id=40728&f=Detecteur%5Cdetecteur.cpp

louis
3
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
25 janv. 2010 à 18:15
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....

 
0
cs_louis14 Messages postés 793 Date d'inscription mardi 8 juillet 2003 Statut Membre Dernière intervention 10 février 2021 8
26 janv. 2010 à 09:27
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
0

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

Posez votre question
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
26 janv. 2010 à 10:56
Salut,

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

 
0
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
26 janv. 2010 à 13:25
Génial merci!!!

 
0
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
26 janv. 2010 à 14:15
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.


 
0
cs_louis14 Messages postés 793 Date d'inscription mardi 8 juillet 2003 Statut Membre Dernière intervention 10 février 2021 8
27 janv. 2010 à 08:35
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
0
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
27 janv. 2010 à 09:45
Ok, super! Merci encore pour le lien.

 
0
Rejoignez-nous