Go语言 如何知道在“使用关闭网络连接”错误中关闭了哪个连接

lb3vh1jj  于 2023-09-28  发布在  Go
关注(0)|答案(1)|浏览(122)

我在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:1000088.39.116.204:56210

jm2pwxwz

jm2pwxwz1#

TCP连接是一对IP和端口对。在本例中,连接是171.31.80.49:10000->88.39.116.204:56210。它是连接,它是关闭的。没有连接171.31.80.49:1000088.39.116.204:56210
您的示例中有两个连接:srcdst(顺便说一句,你把它们命名错了:https://pkg.go.dev/io#Copy).如果您的问题是哪个连接正在关闭,那么根据错误消息,它是dst(应该命名为src)。
为什么?因为信息上说:readfrom ...,错误发生在io.Copy从读卡器阅读时,在我们的例子中是dst

相关问题