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 服务器的代码。服务器需要处理多个连接,但不能同时处理,因此它可以与一个客户端一起工作,当该客户端断开连接时,继续连接到下一个客户端。客户端可以发送可变数量的消息,服务器需要处理这些消息。
问题是当第一个客户端断开连接时,它永远不会连接到下一个客户端。我尝试在我的第二个 while 循环中添加代码以检查“if (!Client.Connected) break;”但 Connected 始终返回 true,即使在我的客户端应用程序关闭之后也是如此。第一个客户端断开连接后,我该怎么做才能连接到第二个客户端?