【发布时间】:2014-05-10 13:49:54
【问题描述】:
我正在使用 C# 中的 System.Net 命名空间来试验客户端-服务器应用程序。我目前正在使用以下 TcpListener 代码来监听传入的连接:
TcpListener listener = new TcpListener(IPAddress.Any, 62126);
List<Connection> ClientConnections = new List<Connection>();
while (true)
{
listener.Start();
while (true)
{
if (listener.Pending())
{
ClientConnections.Add(new Connection(listener.AcceptTcpClient()));
break;
}
}
}
(其中 Connection 是一个类,它通过public Connection(TcpClient client) { ... } 获取接受的 TcpClient 并在单独的线程上维护连接。)
我是否需要在每次接受传入连接时调用listener.Start() 还是没有必要?
【问题讨论】:
-
看看使用BeginAcceptTcpClient。避免 while(true) 循环是个好主意。
标签: c# tcp tcplistener