InetSocketAddress中的通配符地址是什么意思?

18
在构造函数InetSocketAddress(int port)的文档中,它说:

创建一个套接字地址,其中 IP 地址是通配符地址,端口号则为指定值。

通配符地址是什么意思?在socket.bind()中使用它是什么意思?
2个回答

23

来自文档:通配符是一种特殊的本地IP地址。它通常表示“任何”并且只能用于绑定操作。

这个IP地址的值是0.0.0.0。如果你有两个网络适配器,一个带有IP地址1.1.1.1,另一个带有IP地址2.2.2.2,那么你可以创建一个监听套接字并将其绑定到1.1.1.1,以便该套接字不会绑定到2.2.2.2。你也可以创建一个监听套接字并将其绑定到2.2.2.2,以便它不会绑定到1.1.1.1。如果你不关心并希望你的套接字绑定到所有网络卡上,那么你可以将它绑定到通配符地址。

另一个特殊的值是127.0.0.1,表示只有在同一台计算机上的客户端才能连接到你的服务器。


它也可以用于connect(),而无需绑定(bind)。 - TheJoker

1
通配符掩码是由一些位组成的掩码,用于指示IP地址的哪些部分可以采用任何值。在Cisco IOS中,它们在多个位置使用,例如:
  • 用于表示某些路由协议(如OSPF)的网络或子网大小。
  • 用于指示应允许或拒绝哪些IP地址在访问控制列表(ACLs)中。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接