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

C# Discussion :

Socket ne détecte pas quand je débranche un cable réseau


Sujet :

C#

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 108
    Points : 55
    Points
    55
    Par défaut Socket ne détecte pas quand je débranche un cable réseau
    Bonjour,

    J'ai un problème que je n'arrive pas à résoudre, je fais actuellement une application client serveur avec les sockets en mode tcp.

    J'ai créé plusieurs threads qui permettent de lire, envoyer et recevoir des message et un pour vérifier la connexion entre le client et le serveur.

    Ce dernier ne fonctionne pas convenablement, il détecte bien la déconnexion lorsque je ferme le serveur, mais lorsque je débranche mon cable ethernet ou que je coupe ma connexion wifi, pour mon application je suis toujours connectée!

    voici le code que j'utilise:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     public void verifdelegate()
            {
                try
                {
                    if(!SystemInformation.Network)
                    {
                        estConnecte = false;
                    }
                    if (ClientSocket.Poll(1000, SelectMode.SelectRead) && ClientSocket.Available == 0)
                    {
                        //La connexion a été clôturée par le serveur ou bien un problème réseau est apparu
                        estConnecte = false;
                    }
                }
                catch { }
            }

    Merci Adrien

  2. #2
    Membre éclairé Avatar de ZaaN
    Inscrit en
    Novembre 2005
    Messages
    819
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 819
    Points : 661
    Points
    661
    Par défaut
    y a pas un timeout reglable pour ton socket ?

    Sinon, il reste la bonne vieille technique du watchdog... mais elle ne convient certainement pas à ton context ?!
    Pour les details, cherche tout seul !

  3. #3
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Points : 5 195
    Points
    5 195
    Par défaut
    salut

    regardes du coté de la classe NetworkChange

    (dans System.Net.NetworkInformation)

    Un lien utile :

    How To check Network in C#

    Résolu ?
    The Monz, Toulouse
    Expertise dans la logistique et le développement pour
    plateforme .Net (Windows, Windows CE, Android)

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

    Informations forums :
    Inscription : Juin 2006
    Messages : 108
    Points : 55
    Points
    55
    Par défaut
    Merci pour vos réponses rapides, mais j'ai toujours le même problème.

    Quand je débranche le client, il le détecte bien, mais le serveur ne réagit pas!

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 108
    Points : 55
    Points
    55
    Par défaut
    Bonjour,

    j'ai trouvé une solution alternative pour tester la connexion entre le client et le serveur "le ping", jusque là, ça fonctionne à merveille lorsque je suis dans le même réseau!

    Mais lorsque que je ping mon serveur depuis l'exterieur, le firewall me bloque, et oui car je me connecte avec les socket sur le port 1912, mais malheureusement le ping ne prend pas en charge les ports!

    Mon firewall n'autorise que les connexions entrantes sur le port 1912, comment puis je remédier à ce problème?

    Adrien

  6. #6
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Points : 5 195
    Points
    5 195
    Par défaut
    fournis un web service sur ton serveur et si celui ci ne renvoi rien, considères que c'est non connecté (ou une page HTML)...
    The Monz, Toulouse
    Expertise dans la logistique et le développement pour
    plateforme .Net (Windows, Windows CE, Android)

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 108
    Points : 55
    Points
    55
    Par défaut
    Citation Envoyé par theMonz31 Voir le message
    fournis un web service sur ton serveur et si celui ci ne renvoi rien, considères que c'est non connecté (ou une page HTML)...
    Bonjour,

    Est ce que tu pourrais m'expliquer plus en détail, j'ai du mal à comprendre!

  8. #8
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Points : 5 195
    Points
    5 195
    Par défaut
    tu dis que tu n'arrives pas à pinger ton serveur... car il y a un proxy... si tu veux
    juste savoir si ton serveur reponds, il suffit qu'il soit équipé avec un petit serveur Web qui fournisse une page HTML par exemple

    Sinon, les pro du web vont surement te suggérer une autre solution
    The Monz, Toulouse
    Expertise dans la logistique et le développement pour
    plateforme .Net (Windows, Windows CE, Android)

Discussions similaires

  1. Réponses: 0
    Dernier message: 24/02/2011, 19h08
  2. Quand OIS ne détecte pas le clavier
    Par Demystificator dans le forum Ogre
    Réponses: 1
    Dernier message: 06/09/2010, 21h34
  3. Réponses: 6
    Dernier message: 13/04/2006, 15h54
  4. new Option : ne marche pas quand le code est en alpha ???
    Par Leoxp dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 19/12/2005, 15h23
  5. Windows sockets : ne peut pas me connecter au serveur...
    Par kernigansnotdead dans le forum Windows
    Réponses: 13
    Dernier message: 11/09/2005, 16h00

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