有多少客户端可以同时收听TcpListener?

时间:2017-10-13 12:04:32

标签: c# tcpclient tcplistener

我有一个列表 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?

1 个答案:

答案 0 :(得分:0)

TcpClient实际上并没有使用 TcpListenerTcpListener只是“接听电话,转接电话”。

通过致电TcpClientEndAcceptTcpClient创建AcceptTcpClient后,TcpClientTcpListener完全断开连接,并且可以继续提供无限数量的请求。

只要TcpClient资源被正确释放回操作系统(通过调用Dispose),单个TcpListener就可以为每个传入连接创建TcpClient