Socket VC++ détecter perte liaison

Salut,
J ai une appli avec serveur + client. Jusque là pour détecter une mauvaise connexion entre client et serveur j utilisais 2 méthodes:
1) si envoi d un message échoue : alors reinit de l'appli,
2) si pas de message recu apres x minutes, reinit l'appli.

des messages sont envoyés toutes les x sec.

Pb: si je retire le cable entre les 2 pc alors qu il communique j aimerais le detecter de suite, comment faire ?
(avec ma methode : mon client croit avoir reussi à transmettre son message alors que la liaison est coupée....pas terrible). Il lui faut qq secondes pour détecter cette coupure.
Le tout sur Visu C++

Merci pour toute aide ou lien ou mot clé.
Tchuss

3 réponses

  1. Contributeur
    salut, tu n'as qu'a initialiser un thread qui lit en permanence le port pour détecter le debranchement.
    0
    1. Salut ,

      regarde du coté de WNetOpenEnum() .
      0
      1. salut
        mon probleme est que je veux installer mon c++.c deja fait mais il ne compile pas et le message de l`erreur est ``unclude.h et conio.h non trouvable``
        0
        1. Contributeur
          salut, d'abord lis ceci : http://www.commentcamarche.net/ccmguide/ccmcharte.php3

          Ensuite, expliques mieux ce q tu ve dire, on y comprend rien (moi en tout cas j'y comprend rien).
          Enfin, donnes ton systéme et l'environnement utilisé.
          0
        2. @tafiscobarSalut et merci pour ton aide,

          Au fait l'autre c est un mec qui s est trompé de forum.

          Pour ceux que ca interesse y a l'API: IsNetworkAlive (voir la FAQ en Visual C++ dans la partie réseau sur http://www.developpez.net ). J ai pas encore pu tester.

          Pour en revenir à ta solution: init d un thread surveillant le port. J'y connais rien, je vais voir ca sur google. Mais si t as un bout de code, c est pas de refus.

          Merci
          @+
          0
        3. @tafiscobarTypiquement un problème que j ai:

          Je retire le câble,
          en faisant netstat -ap tcp la connexion client serveur reste ESTABLISHED pendant un temps trop important (plusieures dizaines de sec ). Ce temps est fonction de la durée de vie des packets sur le réseau....de ce que j'ai pu lire.

          Pour WNetOpenEnum je regarde ca cet apres midi

          Merci
          0
        4. Contributeur
          @Yulsalut, je n'y connais pas grd chose en api vc++ et c'est pourqoi je t'ai parlé de cette solution.
          Pour mon dernier message, c'etait pour l'autre et pas pour twa.
          tafiscobar "lou waye def bopame"
          la nullite n'existe pas, l'ignorance oui, ah je suppose!!!
          0