繁体   English   中英

在Java中获取连接到LAN的所有主机的IP地址

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM