[英]geting ip address of all host connected to LAN in java
我想开发一个局域网搜索工具。 为此,我需要所有连接的主机IP。 为此,我正在使用它,但是它对我不起作用。 它给出了所有结果,甚至我自己的IP,都无法达到。
请帮我解决这个问题
public static void checkHosts(String subnet) throws UnknownHostException, IOException{
int timeout=1000;
for (int i=1;i<254;i++){
System.out.println(i);
String host=subnet + "." + i;
if (InetAddress.getByName(host).isReachable(timeout)){
System.out.println(host + " is reachable");
}
else{
System.out.println(host + " is not reachable");
}
}
您的代码看起来不错,请尝试增加超时时间 。
4s-5s超时会很棒,它至少应该显示您自己的IP可达。
另外, isReachable
的文档说:
该实现会尽最大努力尝试到达主机,但是防火墙和服务器配置可能会阻止请求,从而导致无法访问状态。
因此,如果其他情况失败,请确保没有防火墙问题。
祝好运
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.