1 回答

TA貢獻(xiàn)1794條經(jīng)驗(yàn) 獲得超7個(gè)贊
您應(yīng)該對(duì)代碼添加兩個(gè)更改:
1) 設(shè)置套接字選項(xiàng) unix.SO_REUSEPORT。
if errReusePort := SetsockoptInt(clientsock, SOL_SOCKET, unix.SO_REUSEPORT, 1); errReusePort != nil {
fmt.Printf("reuse port error: %v\n", errReusePort)
return
}
2) 使您的代碼連接到不同的遠(yuǎn)程 TCP 端點(diǎn)。否則,由于單一源地址/端口,TCP 將無(wú)法區(qū)分兩個(gè)相同的連接(協(xié)議、src-addr、src-port、dst-addr、dst-port)。下面的示例在命令行中指定了兩個(gè)遠(yuǎn)程服務(wù)器地址。
$ go run main.go 127.0.0.1
connected
$ go run main.go 127.0.0.2
connected
在操場(chǎng)上找到完整的工作代碼:https ://play.golang.org/p/HYLkWlVH6T4
- 1 回答
- 0 關(guān)注
- 192 瀏覽
添加回答
舉報(bào)