替换TCP监听套接字c#中的无限循环

本文关键字:无限循环 套接字 TCP 监听 替换 | 更新日期: 2023-09-27 18:06:54

我正在使用套接字侦听器从客户端接收数据。

是否有可能在服务器侦听连接时替换无限循环while (true) ?<>之前//监听传入的连接试一试{listener.Bind (localEndPoint);

listener.Listen (10); // Start listening for connections. while (true)//infinite loop { } 之前

替换TCP监听套接字c#中的无限循环

假设你的while循环像这样:

while(true)
{
    Socket workerSocket = listener.Accept();
    DoSomethingWithSocket(workerSocket);
}

则是,将while(true)替换为

listener.BeginAccept(new AsyncCallback(OnClientConnect), null);

然后添加一个方法

 public void OnClientConnect(IAsyncResult asyn)
 {
    Socket workerSocket = Listener.EndAccept(asyn);
    Listener.BeginAccept(new AsyncCallback(OnClientConnect), null);
    DoSomethingWithSocket(workerSocket);
 }