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

Windows Forms Discussion :

SocketException non gérée


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2009
    Messages
    307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2009
    Messages : 307
    Par défaut SocketException non gérée
    Bonjour à tous,
    J'ai un petit soucis, je suis sûr une appli client serveur pour l'instant mon client c'est telnet avec MSDOS, il reçoit bien les données cependant quand je ferme ma fenêtre j'ai une SocketException qui n'est pas gérée (une connexion a été abandonnée par un logiciel de votre ordinateur hôte), quelqu'un a des suggestions ?
    Voici mon code :
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    private void TCP()
            {
                    // Définition du TcpListener sur le port 20000.
                    Int32 port = 20000;
                    IPAddress localAddr = IPAddress.Parse("127.0.0.1");
     
                    // TcpListener server = new TcpListener(port);
                    TcpListener server = new TcpListener(localAddr, port);
     
                    // Commencer à écouter les demandes des clients.
                    server.Start();
                    MessageBox.Show("Connection effectuée !");
     
     
                    // Tampon pour la lecture de données
                    Byte[] bytes = new Byte[256];
     
                    // Entrer dans la boucle d'écoute.
                    while (Thread.CurrentThread.IsAlive)
                    {
                        TcpClient client = server.AcceptTcpClient();
     
                        // Obtention un objet de flux pour la lecture et l'écriture
                        NetworkStream stream = client.GetStream();
                        ListeClients.Add(client);
     
                        TraitementClient();
     
                        ListeClients.Remove(client);
                        client.Close();
                    }
                }
    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
    17
    18
    private void TraitementClient()
            {
                while (Thread.CurrentThread.IsAlive)
                {
                    foreach (TcpClient clientReception in ListeClients)
                    {
                        byte[] msg = Encoding.UTF8.GetBytes(valeur);
                        clientReception.Client .Send (msg);
                        Thread.Sleep(700);
                        if (!clientReception.Connected)
                        {
                            ListeClients.Remove(clientReception);
                            clientReception.Close();
                            Thread.CurrentThread.Abort();
                        }
                    }
                }
            }
    Merci d'avance

  2. #2
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2009
    Messages
    307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2009
    Messages : 307
    Par défaut
    Pour résoudre ce problème j'ai mis en place des try catch(exception), je sais pas si c'est la méthode la plus optimisée mais ça fonctionne.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Erreur : Exception non gérée
    Par Pokerstar dans le forum VB.NET
    Réponses: 14
    Dernier message: 22/05/2007, 10h38
  2. sqlexception non gérée
    Par LeNeutrino dans le forum Windows Forms
    Réponses: 15
    Dernier message: 02/02/2007, 11h49
  3. Réponses: 2
    Dernier message: 11/05/2006, 12h34
  4. [C#] exception non gérée
    Par zorglub88 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 27/03/2006, 17h28
  5. Réponses: 4
    Dernier message: 14/02/2005, 20h41

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