关于套接字的SO_REUSEADDR在golang中不能正常工作吗?

关于套接字的SO_REUSEADDR在golang中不能正常工作吗?,第1张

关于套接字的SO_REUSEADDR在golang中不能正常工作吗?

您应该在代码中添加两个更改:

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



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5053577.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-15
下一篇 2022-11-15

发表评论

登录后才能评论

评论列表(0条)

保存