InetAddress
没有提供任何静态方法或构造函数来获取带有通配符IP 0.0.0.0的InetAddress
。唯一的方法是InetAddress.getByName("0.0.0.0")
但是如果我们传递硬编码IP,PMD会给出AvoidUsingHardCodedIP
。有没有办法让InetAddress
使用通配符IP,但没有硬编码IP?
答案 0 :(得分:8)
我知道这有点老了。但我处于相同的情况:
InetAddress wildCard = new InetSocketAddress(0).getAddress();
诀窍。主要构造函数
public InetSocketAddress(InetAddress addr, int port)
将使用调用
InetAddress.anyLocalAddress()
不需要端口所以我选择了0.
答案 1 :(得分:0)
使用 InetAddress.getByAddress(new byte[] {0,0,0,0})
会起作用。但不要忘记在 ipv4
或 ipv6
上收听。