InetAddress
不提供任何静态方法或构造函数来获取InetAddress
通配符 IP 0.0.0.0 。唯一的办法是InetAddress.getByName("0.0.0.0")
AvoidUsingHardCodedIP
但是如果我们通过硬编码的 IP,PMD 会给出。有没有办法InetAddress
使用通配符 IP 但无需对 IP 进行硬编码?
我知道这有点老了。但我处于同样的情况:
InetAddress wildCard = new InetSocketAddress(0).getAddress();
成功了。主要构造函数
public InetSocketAddress(InetAddress addr, int port)
将被调用
InetAddress.anyLocalAddress()
不需要端口,所以我选择了 0。
使用InetAddress.getByAddress(new byte[] {0,0,0,0})
将起作用。但不要忘记检查 listen on ipv4
or ipv6
。