1

我是否正确地说,当另一方关闭套接字时,Socket.Receive 将抛出一个包含连接重置消息的 SocketException。如果对方调用 Socket.Shutdown(Shutdown.Send),它将返回 0 个字节。

这是我的测试已经证实的,但文档没有明确说明。我可能只是因为其他原因而读取了 0 字节。

4

1 回答 1

0

我的测试表明你是对的。这里有一些来自 MSDN:“如果远程主机使用 Shutdown 方法关闭了 Socket 连接,并且已接收到所有可用数据,则 Receive 方法将立即完成并返回零字节。” http://msdn.microsoft.com/en-us/library/8s4y8aff.aspx

于 2013-07-30T19:41:24.550 回答