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

LaTatadu91 968 Messages postés jeudi 20 mai 2004Date d'inscription 26 avril 2013 Dernière intervention - 25 janv. 2010 à 16:14 - Dernière réponse : LaTatadu91 968 Messages postés jeudi 20 mai 2004Date d'inscription 26 avril 2013 Dernière intervention
- 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!
 
Afficher la suite 

9 réponses

Répondre au sujet
cs_aardman 1905 Messages postés mercredi 22 janvier 2003Date d'inscription 17 septembre 2012 Dernière intervention - 25 janv. 2010 à 18:07
+3
Utile
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.
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_aardman
cs_louis14 788 Messages postés mardi 8 juillet 2003Date d'inscription 8 mars 2017 Dernière intervention - 26 janv. 2010 à 12:45
+3
Utile
J'avais trouvé ma réponse à cette adresse :
http://files.codes-sources.com/fichier.aspx?id=40728&f=Detecteur%5Cdetecteur.cpp

louis
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_louis14
LaTatadu91 968 Messages postés jeudi 20 mai 2004Date d'inscription 26 avril 2013 Dernière intervention - 25 janv. 2010 à 18:15
0
Utile
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....

 
Commenter la réponse de LaTatadu91
cs_louis14 788 Messages postés mardi 8 juillet 2003Date d'inscription 8 mars 2017 Dernière intervention - 26 janv. 2010 à 09:27
0
Utile
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
Commenter la réponse de cs_louis14
LaTatadu91 968 Messages postés jeudi 20 mai 2004Date d'inscription 26 avril 2013 Dernière intervention - 26 janv. 2010 à 10:56
0
Utile
Salut,

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

 
Commenter la réponse de LaTatadu91
LaTatadu91 968 Messages postés jeudi 20 mai 2004Date d'inscription 26 avril 2013 Dernière intervention - 26 janv. 2010 à 13:25
0
Utile
Génial merci!!!

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


 
Commenter la réponse de LaTatadu91
cs_louis14 788 Messages postés mardi 8 juillet 2003Date d'inscription 8 mars 2017 Dernière intervention - 27 janv. 2010 à 08:35
0
Utile
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
Commenter la réponse de cs_louis14
LaTatadu91 968 Messages postés jeudi 20 mai 2004Date d'inscription 26 avril 2013 Dernière intervention - 27 janv. 2010 à 09:45
0
Utile
Ok, super! Merci encore pour le lien.

 
Commenter la réponse de LaTatadu91

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.