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#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 108
    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
    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 ?!

  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
    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 ?

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

    Informations forums :
    Inscription : Juin 2006
    Messages : 108
    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 confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 108
    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
    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)...

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

    Informations forums :
    Inscription : Juin 2006
    Messages : 108
    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!

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