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

时间:2012-08-13 09:08:03

标签: java sockets

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

  

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

通配符地址的作用是什么?在socket.bind()中使用时它意味着什么?

2 个答案:

答案 0 :(得分:16)

来自文档:通配符是一个特殊的本地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,这意味着只有同一台计算机上的客户端才能连接到您的服务器。

答案 1 :(得分:0)

通配符掩码是位掩码,指示IP地址的哪些部分可以采用任何值。在Cisco IOS中,它们在几个地方使用,例如:

  • 指示某些路由协议(例如OSPF)的网络或子网的大小。
  • 指示访问控制列表(ACL)中应允许或拒绝的IP地址。