是否需要同时关闭 NetworkStream 和 TcpClient,还是只关闭 TcpClient?

2024-01-07

我正在阅读有关 TcpClient.Close() 的文档 http://msdn.microsoft.com/en-us/library/system.net.sockets.tcpclient.close%28v=VS.100%29.aspx并注意到这一点:

调用此方法最终将导致关联的 Socket 关闭,并且还将关闭关联的用于发送和接收数据的 NetworkStream(如果已创建)。

所以,如果我错了,请纠正我,但这说的是,如果有人打电话Close() on the TcpClient认为NetworkStream也将被关闭。

那么为什么在代码示例的末尾都是Close() called?

networkStream.Close();
tcpClient.Close();

只打电话也可以吗tcpClient.Close();?


回答这个问题,因为没有其他人这样做,所以我可以接受答案。

根据 Hans 的说法,调用 NetworkStream.Close() 是不必要的,因为 TcpClient.Close() 会关闭其底层 NetworkStream。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

是否需要同时关闭 NetworkStream 和 TcpClient,还是只关闭 TcpClient? 的相关文章

随机推荐