【发布时间】:2013-02-19 21:49:32
【问题描述】:
由于超过指定的发送/接收超时,在同步发送/接收方法抛出 SocketException 后,是否可以继续使用 .NET Socket? Here 据说方法在第一次超时后会立即抛出异常。我想了解一些关于套接字将做什么(关闭自身?)以及处理SocketException(超时)后套接字是否可以正常使用的信息。我在 MSDN 文档上没有看到任何相关内容。
【问题讨论】:
-
如果 Socket 超时,它不会对自己做任何事情 - 您可以再次重试发送/接收。
-
如果 Socket 抛出异常,则表示没有连接。当然,如果您尝试建立新连接,您当然仍然可以使用相同的 Socket 参考。
-
@Ramhound 那不正确。超时不会破坏连接。
-
@EJP - 我没这么说。
-
@Ramhound 你肯定确实说过:'如果 Socket 抛出异常,则意味着没有连接'。在超时异常的情况下这是不正确的。
标签: c# sockets .net-4.0 timeout socketexception