如何使用wildcard ip 0.0.0.0获取InetAddress?

时间:2012-12-04 06:51:50

标签: java pmd

InetAddress没有提供任何静态方法或构造函数来获取带有通配符IP 0.0.0.0的InetAddress。唯一的方法是InetAddress.getByName("0.0.0.0")

但是如果我们传递硬编码IP,PMD会给出AvoidUsingHardCodedIP。有没有办法让InetAddress使用通配符IP,但没有硬编码IP?

2 个答案:

答案 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}) 会起作用。但不要忘记在 ipv4ipv6 上收听。