登录
首页 >  Golang >  Go问答

确定哪个连接导致“使用已关闭的网络连接”错误

来源:stackoverflow

时间:2024-03-04 22:24:30 395浏览 收藏

今天golang学习网给大家带来了《确定哪个连接导致“使用已关闭的网络连接”错误》,其中涉及到的知识点包括等等,无论你是小白还是老手,都适合看一看哦~有好的建议也欢迎大家在评论留言,若是看完有所收获,也希望大家能多多点赞支持呀!一起加油学习~

问题内容

我使用 io.copy 代理 go 中的 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


正确答案


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 从 Reader 读取时会发生错误,在我们的例子中是 dst

以上就是《确定哪个连接导致“使用已关闭的网络连接”错误》的详细内容,更多关于的资料请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>