【发布时间】:2013-08-21 00:34:35
【问题描述】:
我有一个线程等待来自多个接口的 UDP 消息,使用 UdpClient::BeginReceive 和一个调用 UdpClient::EndReceive 的回调来获取数据并将其传递。
如果 5 秒后我什么也没得到,我会从调用 UdpClient::BeginReceive 的函数返回,以便可以取消进程并发出另一个广播,这将触发外部客户端发送 UDP 响应。如果我们不取消,我会再次调用UdpClient::BeginReceive 函数来检查新数据。
如果客户端没有及时收到任何数据,有没有办法取消该异步请求而无需调用无限期阻塞的EndReceive?我的印象是让数百个异步触发器运行是个坏主意。
【问题讨论】:
标签: .net asynchronous c++-cli udpclient