【发布时间】:2014-01-08 06:44:03
【问题描述】:
在 C# 类中,以下格式用于从套接字异步读取数据。
正如您在代码中看到的,它使用AsyncReceive 从套接字读取数据。接收到数据时回调OnDataReception。
在OnDataReception 中,处理接收到的数据,如果对话尚未结束,则再次调用ListenForData。
这段代码 sn-p 会创建任何类型的无限递归吗? (函数或线程)
class ClientConnection{
Socket socket = ...
SocketAsyncEventArgs args = ...
args.Completed += new EventHandler<SocketAsyncEventArgs>(OnDataReception);
...
public void ListenForData(){
...
socket.ReceiveAsync(args);
...
}
public void OnDataReception(Object obj, SocketAsyncEventArgs args){
...
// if conversation is finished, return
// else call ListenForData() again...
}
...
}
【问题讨论】:
标签: c# recursion asynccallback