作为一项任务,我必须在LAN上找到所有运行中的计算机。为此,我正在使用isReachable
类的InetAddress
函数。但是问题是,没有任何东西显示给我。因此,我尝试将isReachable
与Google的IP一起使用,但这仍然无法实现。
这是代码:
import java.net.*;
public class alive{
public static void main(String args[]){
try{
InetAddress ia = InetAddress.getByAddress(new byte[]{(byte)209, (byte)85, (byte)153, (byte)104});
boolean b = ia.isReachable(10000);
if(b){
System.out.println("Reachable");
}
else{
System.out.println("Unrachable");
}
}catch(Exception e){
System.out.println("Exception: " + e.getMessage());
}
}
}
输出为:
Unreachable
最佳答案
以下是有关为什么isReachable()可能无法始终按预期运行的一些详细信息
正确的方法是使用ICMP协议(protocol)。我相信,这是 ping 在国际上使用的方式。 Here is an example让您入门。