【发布时间】:2012-05-22 09:41:46
【问题描述】:
在我的应用程序中,我想要一个轮询循环,它会阻塞套接字接收操作,但会在 100 毫秒后超时。这将允许我在需要时退出循环(例如,用户单击 UI 中的某些内容),同时避免使用繁忙循环或 Thread.sleep。
但是,似乎一旦打开 .NET 套接字,它只能超时一次。第一次超时后,任何会阻塞的调用都会立即抛出异常。
根据this question,“您不能超时或取消异步Socket 操作。”为什么不?有没有更好的方法来解决 .NET 世界中的问题?
【问题讨论】: