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