Salut,
j ai voulu tester la fonction fournie dans la FAQ :
http://c.developpez.com/faq/vc/?page...wDetectNetwork
elle devrait permettre de détecter la présence du réseau.
Je l'utilise dans une application client serveur pour vérifier la présence du réseau.
Donc je pensais qu'en retirant le câble réseau cette fonction me retournerait False, ce qui n'est pas le cas chez moi !? une explication ?
Du coup j'essaye de faire autrement.
Quel fonction utiliser pour détecter cette rupture ? par exemple on voit bien l'icone de la connexion réseau qui affiche cette rupture dans la barre des tâches, où trouver cette info ?
On m a parlé de mettre un thread qui vérifie que la connexion est OK,
mais qui peut me dire ce qu'il faut tester ?
============================================
Dans mon appli client serveur il y a un échange de message toutes les x secondes. J ai un time out de 10 minutes si rien n'a été échangé, dans ce cas je réinit le socket.
Ma fonction "Send" sur le serveur envoie des messages au client périodiquement. Si je retire le câble réseau, et que j envoie un message au client ma fonction fait comme si le message avait bien été envoyé. Le protocole définit ici ne prend pas en compte l'acquittement du client ( c est imposé dans le cahier des charges). C'est pourquoi il faut que je trouve comment détecter immédiatement cette déconnexion.
Avec la commande netstat, la connexion reste Established pendant un certain temps malgré cette déconnexion. Pourquoi ?
===============================================
Un autre problème:
Si on kill le client (celui-ci n'envoie pas donc pas la fermeture de la socket) il faudrait que le serveur détecte immédiatement cette "rupture" comment faire ?
Soft: Visual C++ 7
WinXP
Pour ceux qui arrive ici: merci d avoir déja lu tout ca.
Et merci à ceux qui pourront m éclaircir sur ces queslques points.
Yuli qui continue ses investigations
Partager