我正在使用 Go 代理 TCP 連接 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。
uj5u.com熱心網友回復:
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.
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/400775.html
上一篇:記錄命令的退出代碼
下一篇:如何在Go中解碼zlib流?
