InetAddress.isReachable仅在防火墙关闭时有效

时间:2014-08-14 06:54:58

标签: java networking

我正在使用InetAddress类的isReachable()方法来验证特定的IPAddress是否可以访问。

防火墙关闭时工作正常,但是当我打开防火墙时它为什么不能正常工作?

代码是:

InetAddress addr= InetAddress.getByName("192.168.100.5"); 
System.out.println(addr.isReachable(2000));

1 个答案:

答案 0 :(得分:3)

isReachable()ping命令完全相同,即使用ICMP协议。如果防火墙阻止ICMP ping(显然isReachable())不起作用。

所以,请尝试以下方法。打开防火墙。试试ping。如果它有效isReachable()也应该有用。如果ping有效但isReachable()没有使用代码片段提出其他问题。

如果ping不起作用,请将您的filrewall配置为接受ICMP。