【发布时间】:2018-08-10 13:15:24
【问题描述】:
当我们使用http.ListenAndServe时,有什么区别:
http.ListenAndServe("0.0.0.0:80", nil)
和
http.ListenAndServe(":80", nil)
?难道两个版本都不会监听端口80上的所有接口吗?
【问题讨论】:
-
可能
"0.0.0.0:80"只是绑定在 ipv4 接口上? -
似乎你是对的,但在 Linux 上(我没有提到我使用它)这并不明显,因为
bindv6only选项(在 SO 回答 serverfault.com/a/39561/78427 中描述)。基本上在大多数发行版上,bindv6only为 0,因此如果创建一个套接字来监听 IPv6,它也会监听 IPv4