我正在使用InetAddress类的isReachable()方法来验证特定的IPAddress是否可以访问。
防火墙关闭时工作正常,但是当我打开防火墙时它为什么不能正常工作?
代码是:
InetAddress addr= InetAddress.getByName("192.168.100.5");
System.out.println(addr.isReachable(2000));
答案 0 :(得分:3)
isReachable()
与ping
命令完全相同,即使用ICMP
协议。如果防火墙阻止ICMP ping(显然isReachable()
)不起作用。
所以,请尝试以下方法。打开防火墙。试试ping。如果它有效isReachable()
也应该有用。如果ping有效但isReachable()
没有使用代码片段提出其他问题。
如果ping不起作用,请将您的filrewall配置为接受ICMP。