1)设置套接字选项unix.SO_REUSEPORT。
if errReusePort := SetsockoptInt(clientsock, SOL_SOCKET, unix.SO_REUSEPORT, 1); errReusePort != nil { fmt.Printf("reuse port error: %vn", errReusePort) return}
2)使您的代码连接到不同的远程TCP端点。否则,由于单个源地址/端口,TCP将无法区分两个相同的连接(协议,src-addr,src-port,dst-
addr,dst-port)。下面的示例在命令行中指定两个远程服务器地址。
$ go run main.go 127.0.0.1connected$ go run main.go 127.0.0.2connected
在 *** 场上找到完整的工作代码:https://play.golang.org/p/HYLkWlVH6T4
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)