TCP允许一方发出“FIN”,并让另一方在结束连接的一方之前用一些数据作出响应。如何在启动TCP连接关闭后接收数据?
如何使用.NET的TcpClient
来实现这个目标?看起来我必须用Close
来发出FIN,但之后我不能再拨打Client.Receive
,因为Client
设置为null
由Close
。
TCP允许一方发出“FIN”,并让另一方在结束连接的一方之前用一些数据作出响应。如何在启动TCP连接关闭后接收数据?
如何使用.NET的TcpClient
来实现这个目标?看起来我必须用Close
来发出FIN,但之后我不能再拨打Client.Receive
,因为Client
设置为null
由Close
。
在.NET中做到这一点的方法是调用
Socket.Shutdown(SocketShutdown.Send);
,或者,如果您使用的是TcpClient
:
TcpClient.Client.Shutdown(SocketShutdown.Send);
这是支持的。你可以直接使用Socket来做到这一点。但我不知道TcpClient。 – usr