【问题标题】:What does wildcard address in InetSocketAddress mean?InetSocketAddress 中的通配符地址是什么意思?
【发布时间】:2012-08-13 09:08:02
【问题描述】:

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

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

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

【问题讨论】:

    标签: java sockets


    【解决方案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。你也可以创建一个监听socket,绑定到2.2.2.2,这样就不会绑定到1.1.1.1了。如果您不关心并且希望您的套接字绑定到所有网卡,那么您将其绑定到通配符地址。

    另一个特殊值是 127.0.0.1,这意味着只有同一台计算机上的客户端才能连接到您的服务器。

    【讨论】:

    • 不用绑定也可以用于connect()
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 2021-12-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-26
      相关资源
      最近更新 更多