如何知道哪个连接在 "use of closed network connection" 错误中关闭
How to know which connection closed in "use of closed network connection" error
我在 Go 中使用 io.Copy
代理 TCP 连接
_, err := io.Copy(src, dst)
if err != nil {
log.Println(err)
}
并且一个连接关闭因此发送此错误:
readfrom tcp 171.31.80.49:10000->88.39.116.204:56210: use of closed network connection
我怎么知道关闭了哪个网络连接?即 171.31.80.49:10000
或 88.39.116.204:56210
.
一个TCP连接是一对IP和端口对。在您的情况下,连接是 171.31.80.49:10000->88.39.116.204:56210
。它是连接,它是关闭的。没有连接 171.31.80.49:10000
或 88.39.116.204:56210
.
您的示例中有两个连接:src
和 dst
(顺便说一下,您将它们命名错误:https://pkg.go.dev/io#Copy)。如果您的问题是哪个连接正在关闭,那么根据错误消息,它是 dst
(应该命名为 src
)。
为什么?因为消息说:readfrom ...
,当 io.Copy
从 Reader 读取时发生错误,在我们的例子中是 dst
.
我在 Go 中使用 io.Copy
_, err := io.Copy(src, dst)
if err != nil {
log.Println(err)
}
并且一个连接关闭因此发送此错误:
readfrom tcp 171.31.80.49:10000->88.39.116.204:56210: use of closed network connection
我怎么知道关闭了哪个网络连接?即 171.31.80.49:10000
或 88.39.116.204:56210
.
一个TCP连接是一对IP和端口对。在您的情况下,连接是 171.31.80.49:10000->88.39.116.204:56210
。它是连接,它是关闭的。没有连接 171.31.80.49:10000
或 88.39.116.204:56210
.
您的示例中有两个连接:src
和 dst
(顺便说一下,您将它们命名错误:https://pkg.go.dev/io#Copy)。如果您的问题是哪个连接正在关闭,那么根据错误消息,它是 dst
(应该命名为 src
)。
为什么?因为消息说:readfrom ...
,当 io.Copy
从 Reader 读取时发生错误,在我们的例子中是 dst
.