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

2022-09-03 01:21:55

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

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

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


答案 1

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


答案 2

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

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

推荐