替换TCP监听套接字c#中的无限循环
本文关键字:无限循环 套接字 TCP 监听 替换 | 更新日期: 2023-09-27 18:06:54
我正在使用套接字侦听器从客户端接收数据。
是否有可能在服务器侦听连接时替换无限循环while (true)
?<>之前//监听传入的连接试一试{listener.Bind (localEndPoint);
// Start listening for connections.
while (true)//infinite loop
{
}
之前
假设你的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);
}