Bonjour à tous,

Je souhaite tester à partir d'un thead que ma connection au serveur est toujours active.

Pour se faire je fais la chose suivante dans Form1_Load() :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
myThreadConnection = new Thread(new ThreadStart(myThreadFct));
 myThreadConnection.Start();

Pour se faire je fais la chose suivante dans mon thread :
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
 private void myThreadFct()
        {
 
            while (!_endThreadEvent.WaitOne(300, false))
            {
                // Mon Socket
                Socket sock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
 
                IPEndPoint ipEnd = new IPEndPoint(ip,port);
 
                try
                {
                    sock.Connect(ipEnd);
                }
                catch (SocketException ex)
                {                    
                    MessageBox.Show("Déconnectée\n",ex.Message);
                    _endThreadCalculsEvent.Set();
                    myThreadConnection.Join();
                }
                finally
                {
                    sock.Close();
                }                
            }            
 
        }

Le thread se lance bien et test toute les 300 ms que j'arrive à me connecter.

Mon problème est que si par exemple je déconnecte le RJ45 de mon pc, et que je test mon appli en mode débug, je n'arrive pas à faire rentrer le Thread dans mon exception ???

J'espère avoir été clair .

Merci de vos réponse par avance.