UdpClient.BeginReceive可以在没有调用回调函数的情况下失败吗?

时间:2018-06-05 15:53:53

标签: c# sockets udp

我正在查看一些使用ar = udpClient.BeginReceive(callback, userObject)的代码,其中callback然后调用EndReceive,并为同一BeginReceive调用新callback

这个方案会以意想不到的方式失败吗?现在没有ar.IsCompletedar.CompletedSynchronously的检查,所以我会添加这些,尽管GitHub搜索建议大多数人不这样做。

我担心在某些错误情况下可能无法调用callback而我的应用程序不会知道接收链出现故障。

备选方案是udpClient.Receive上具有合理超时的专用线程,但由于线程成本,我宁愿不这样做。

0 个答案:

没有答案