IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Autres éditeurs Discussion :

[Winsock] Détecter le débranchement du cable réseau


Sujet :

Autres éditeurs

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Inscrit en
    Octobre 2002
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 2
    Par défaut [Winsock] Détecter le débranchement du cable réseau
    Bonjour,

    Un client et un serveur échangent des données par l'intermédiaire d'une connection TCP/IP. L'échange des données n'est que ponctuel, et la plupart du temps, aucune trame n'est envoyée. J'aimerai pouvoir détecter du côté du serveur un débranchement du cable réseau. Pour cela je lis régulièrement (toute les 500 ms) sur le socket, mais aucune erreur n'est générée lorsque je débranche le cable, tout se passe comme si je ne recevais rien.

    Merci d'avance pour vos propositions.

  2. #2
    Rédacteur
    Avatar de pi-2r
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2006
    Messages
    1 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 487
    Les pièges de l'Internet
    Helix, réponse à une intrusion


    "La plus grande gloire n'est pas de ne jamais tomber, mais de se relever à chaque chute." Confucius
    "Si j'ai vu plus loin, c'est en me tenant sur les épaules de géants." Isaac Newton

  3. #3
    Nouveau candidat au Club
    Inscrit en
    Octobre 2002
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 2
    Par défaut
    La méthode consistant à modifier le socket avec l'option SO_KEEPALIVE (modification de la base de regsitre effectuée) ne fonctionne pas. Par contr je n'utilise pas de CAsyncSocket, j'utilise les "SOCKET" de winsock en mode non bloquant.

    Je vais tenter la fonction "IsDestinationReachable" de la lib sensapi.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 38
    Par défaut
    Je pense que le KEEP_ALIVE n'est pas la bonne solution, le délai de 'réaction' peut être plus ou moins long.
    En plus il ne t'indique pas que c'est la connexion physique qui est coupée, mais simplement que l'échange entre le client et le serveur n'a pas abouti, donc peut être un problème momentané de routage.
    L'idéal est de programmer un "heartbeat" dans ton application (client+serveur), ou un délai maximum d'inactivité au delà duquel la connexion sera coupé au niveau du serveur.

Discussions similaires

  1. conflit cables réseau ?
    Par Carlosprs dans le forum Hardware
    Réponses: 9
    Dernier message: 16/04/2008, 20h50
  2. Reseau local toujours connecté meme sans cable réseau !?
    Par devlopassion dans le forum Administration
    Réponses: 9
    Dernier message: 27/02/2008, 11h58
  3. cable réseau entre deux pc
    Par gdpitchounet dans le forum Réseau
    Réponses: 8
    Dernier message: 28/05/2007, 23h09
  4. Communication entre deux Pc par un cable réseau
    Par heddaji dans le forum Windows Forms
    Réponses: 2
    Dernier message: 31/03/2007, 23h38
  5. Comment savoir que le cable réseau a été débranché
    Par laurent82 dans le forum Web & réseau
    Réponses: 3
    Dernier message: 12/07/2004, 20h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo