Bonjour,


J'ai fais un serveur-client reseau en dotnet , un thread pour la méthode 'AcceptTcpClient' et un thread par client.

Je joint une partie du code de serveur :

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
33
34
35
36
37
38
39
 
Thread th = new Thread(Distrib);
            th.Start();
            //Console.ReadKey(); 
            Console.ReadLine();
            //Console.WriteLine("OUT");
            sort = true;
        }
       static  private void Distrib()
        {
            //Console.WriteLine("AA1");
            byte[] bb = new byte[4];
            IPAddress ipaddress=new IPAddress(bb);
            //Console.WriteLine("AA2");
            //tcpListener = new TcpListener(IPAddress.Any, 5000);
            tcpListener = new TcpListener(ipaddress, 5000);
            //Console.WriteLine("AA3");
            sort = false;
            while (!sort)
            {
                //Console.WriteLine("AA4");
                TcpClient client = null;
                try
                {
                    //Console.WriteLine("AA5");
                    tcpListener.Start();
                    //Console.WriteLine("AA6");
                    client = tcpListener.AcceptTcpClient();
//Console.WriteLine($"ASRV1");
 
                    //Console.WriteLine("Connected!");
                    //data = null;
                    var srv = new srv(client);
                    //Console.WriteLine($"ASRV2");
                    Thread tt = new Thread(srv.trv);
                    //Console.WriteLine($"ASRV3");
                    tt.Start();
...
...

Quand j'ote les appels 'Console.WriteLine' et remplace Console.ReadLine par Console.ReadKey ,ca ne marche pas.
Quand je remet les Console.WriteLine et remplace Console.ReadLine par Console.ReadKey ,ca marche.
Quand j'ote les Console.WriteLine et utilise Console.ReadLine à la place de Console.ReadKey ,ca marche !


Quand ca ne marche pas -> Le programme client se connecte , sans evenement de connexion sur le serveur et le programme client ne peux pas fonctionner.
Quand ca marche , le programme client se connecte , avec evenement de connexion sur le serveur , le programme client peux dialoguer avec le serveur.

Pourquoi ?