【发布时间】:2012-01-05 23:44:30
【问题描述】:
似乎当您使用有效的SocketAsyncEventArgs 调用Socket.AcceptAsync 并正确操纵SocketAsyncEventArgs.Completed 事件并且在很长一段时间内不接受任何连接时,它只会重置连接。不过,我的Socket.ReceiveTimeout 和Socket.SendTimeout 都是零。
我不确定如何设置接受连接的超时时间,即使这是个好主意。有没有人有解决方法,也许有一些关于为什么这是默认行为的信息?
我在 Microsoft Connect 上filed a bug report 看看他们是否有任何原因导致超时时间不稳定。有时它会在五分钟内超时,有时会超过两个小时。
【问题讨论】:
-
你用wireshark或其他东西检查过电线上发生了什么吗? ConnectionReset 应该与某个连接的套接字有关,而不是与侦听套接字有关。
-
我最初也是这么认为的,这就是为什么我对此感到非常困惑。当我们说话时,我正在使用wireshark日志记录进行测试,并会在发生时发布结果。
-
@NikolaiNFetissov 你成功了。终于找到了问题的根源。
标签: c# .net sockets asynchronous