我有一个列表 private List<ServerClient> clients;
和一个将开始收听的功能:
private void StartListening()
{
server.BeginAcceptTcpClient (AcceptTcpClient,server);
}
private void AcceptTcpClient(IAsyncResult ar)
{
TcpListener listener = (TcpListener)ar.AsyncState;
clients.Add (new ServerClient (listener.EndAcceptTcpClient (ar)));
StartListening ();
}
所以这个简单的网络监听器......有多少客户端可以同时监听TcpListener?
答案 0 :(得分:0)
TcpClient
实际上并没有使用 TcpListener
。 TcpListener
只是“接听电话,转接电话”。
通过致电TcpClient
或EndAcceptTcpClient
创建AcceptTcpClient
后,TcpClient
与TcpListener
完全断开连接,并且可以继续提供无限数量的请求。
只要TcpClient
资源被正确释放回操作系统(通过调用Dispose
),单个TcpListener
就可以为每个传入连接创建TcpClient