2017-02-18 3 views
0

Ich habe diesen Webserver versucht, mit TcpListener zu machen, aber es wird nicht etwa die Hälfte der Anfragen akzeptieren, die ich gemacht habe. Es hängt einfach auf AcceptTcpClient, wenn die Anfrage gestellt wird, auch es verhält sich das gleiche an jedem Port.TcpListener akzeptiert keinen Client

this.main = new Thread(() => 
{ 
    while (this.running) 
    { 

     TcpClient c = this.t.AcceptTcpClient(); 
     new Task(() => 
     { 
      handleClient(c); 
     }).Start(); 

    } 
}); 
this.main.Start(); 
+0

Was genau wollen Sie mit dem neuen Thema und neue Aufgabe dieser Code funktioniert gut zu tun. https://msdn.microsoft.com/en-us/library/system.net.sockets.tcplistener(v=vs.110).aspx –

Antwort

0

Vielleicht können Sie so etwas wie dies versuchen:

public void Start() 
{ 
    Console.WriteLine("Server started..."); 

    TcpListener listener = new TcpListener(System.Net.IPAddress.Loopback, 1234); 
    listener.Start(); 
    while (true) 
    { 
     TcpClient client = listener.AcceptTcpClient(); 
     new Thread(new ThreadStart(() => 
     { 
      HandleClient(client); 
     })).Start(); 
    } 
} 

private void HandleClient(TcpClient client) 
{ 
    NetworkStream stream = client.GetStream(); 
    StreamWriter writer = new StreamWriter(stream, Encoding.ASCII) { AutoFlush = true }; 
    StreamReader reader = new StreamReader(stream, Encoding.ASCII); 

    string inputLine = reader.ReadLine(); 
    Console.WriteLine("The client with name " + " " + inputLine + " is conected"); 

} 
Verwandte Themen