Sockets 在侦听套接字时,域使用情况有什么不同?

Sockets 在侦听套接字时,域使用情况有什么不同?,sockets,go,tcp,listener,Sockets,Go,Tcp,Listener,我在查看的一些示例中遇到了一些差异,并意识到有些使用域,有些不使用域。两者之间的真正区别是什么 net.Listen("tcp", ":8080") net.Listen("tcp", "localhost:8080") 它有默认参数,表示0.0.0.0127.0.0.1,localhost。这很方便 net.Listen("tcp", ":8080") 在这里,您可以硬绑定任何域 net.Listen("tcp", "localhost:8080") :8080几乎肯定意味着0.0.0.

我在查看的一些示例中遇到了一些差异,并意识到有些使用域,有些不使用域。两者之间的真正区别是什么

net.Listen("tcp", ":8080")
net.Listen("tcp", "localhost:8080")

它有默认参数,表示0.0.0.0127.0.0.1,localhost。这很方便

net.Listen("tcp", ":8080")
在这里,您可以硬绑定任何域

net.Listen("tcp", "localhost:8080")

:8080
几乎肯定意味着
0.0.0.0:8080
,它监听所有接口
localhost:8080
将是
127.0.0.1:8080
,它只在127.0.0.1进行侦听,因此只能从同一主机内连接到。不要忘记,现在大多数主机都支持ipv6,因此通常分别是
[:]
[::1]