0

当我读到这篇文章时:如何正确和完全关闭/重置 TcpClient 连接?

我知道 GetStream 和 Client 几乎是 2 个不同的对象。这意味着我将不得不处理掉它们。

然而,我没有得到的是,如果它真的是这样。

原因 Visual Studio 分析始终会告诉您何时未处置一次性项目(即使是稍后,但它确实希望您使用 Using)。它从来没有说过关于 GetStream() 的任何事情。

但是,如果它是正确的,这是否意味着我将不得不使用这样的东西:

            using (tt1 = tcplisten.AcceptTcpClient())
            using(var tcpstream = tt1.GetStream())

看起来,很奇怪,但我不想要一次性资源,所以最好深入了解它。

4

1 回答 1

1

关闭客户端不会关闭与其关联的流。因此,您需要致电

tt1.GetStream().Close();
tt1.Close();

如果您只是关闭客户端,那么流将保持活动状态并且仍然可以占用资源。

于 2013-08-23T16:04:54.023 回答