0
tcpListener = new TcpListener(IPAddress.Any, 6007);
tcpListener.Start();
while (true)
{
TcpClient client = tcpListener.AcceptTcpClient();
sw = new StreamWriter(client.GetStream());
sr = new StreamReader(client.GetStream());
while(true)
parseRequest(sr.ReadLine());
}
這實質上是我用於C#tcp服務器的代碼。服務器需要處理多個連接,但不能同時處理,因此它可以與一個客戶端一起工作,並且當客戶端斷開連接時繼續到下一個客戶端。客戶端可以發送可變數量的消息,並且服務器需要處理這些消息。如何正確移動到C#tcp服務器中的下一個客戶端?
問題是,當第一個客戶端斷開連接時,它永遠不會連接到下一個客戶端。我嘗試在第二個while循環中添加代碼來檢查「if(!Client.Connected)break」;但即使在我的客戶端應用程序關閉後,Connected仍然返回true。我能做些什麼才能在第一個斷開連接後連接到第二個客戶端?