我在 Go 中使用代理 TCP 连接io.Copy
_, err := io.Copy(src, dst)
if err != nil {
log.Println(err)
}
Run Code Online (Sandbox Code Playgroud)
并且一个连接关闭,因此发送此错误:
readfrom tcp 171.31.80.49:10000->88.39.116.204:56210: use of closed network connection
Run Code Online (Sandbox Code Playgroud)
我如何知道哪个网络连接已关闭?即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)。
为什么?因为消息显示: ,所以当正在从 Reader 读取时(在我们的例子中为 ),readfrom ...会发生错误。io.Copydst
| 归档时间: |
|
| 查看次数: |
7417 次 |
| 最近记录: |