为多个连接使用tcplistener获取网络流

本文关键字:tcplistener 获取 网络 连接 | 更新日期: 2023-09-27 18:09:41

我正在尝试为我正在收听的每个客户端提供不同的网络流(使用tcpllistener)下面是一个示例代码:

while(listener.Pending())
{
Socket sock = listener.AcceptSocket();
NetworkStream stream = new NetworkStream(sock);
list.Add(stream);
}

我的问题是,列表将由不同的网络流组成,每个客户端一个试图建立连接?泰

为多个连接使用tcplistener获取网络流

是的,每个套接字将得到一个NetworkStream,并且Accept - ed套接字是特定于客户端的。

但是你误用了Pending函数。您应该使用异步方法BeginAcceptSocketAcceptAsync。一旦没有客户端试图连接,while(listener.Pending())循环将退出,这将有效地阻止您获得连接。