【发布时间】:2012-05-28 14:06:36
【问题描述】:
根据 MSDN 文档,不可能将 Socket.SendTimeout 设置为小于 500 毫秒的值:http://msdn.microsoft.com/en-us/library/system.net.sockets.socket.sendtimeout 相同的规则对 Socket.ReceiveTimeout 有效(即使 MSDN 文档中没有提到,这是真的,因为两者案例进行了实际测试)。
如果套接字接收操作的完成时间超过 10 毫秒,是否还有其他方法可以使该操作超时?
【问题讨论】:
-
将
Socket.ReceiveTimeout设置为10ms有什么问题? -
我做了一个测试,将 Socket.ReceiveTimeout 设置为 10m。大约 500 毫秒后全部失败,所以我假设同样的规则在这里也适用,即使文档中没有提到。
-
@Ras 是的,但它会旋转一个新线程。
-
为什么你希望超时时间小于 500 毫秒?由于延迟和潜在的网络流量远低于 500 毫秒,您可能会遇到大量错误超时。