作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试 ping 从 192.168.1.1 到 192.168.1.254 的 IP 地址。首先,我使用 InetAddress 类,但它被窃听了,有些 IP 即使可以访问也无法访问。之后我尝试了这种方法,它对于单个 ping IP 非常有效,但是当我将其放入 for 循环中时,所有可 ping 的 IP 都可达...你们能告诉我这里出了什么问题吗?
代码:
public class Main {
public static void main(String[] args) {
String ip="192.168.1.";
try
{
for(int i=0;i<=254;i++){
String ip2=ip+i;
boolean reachable = (java.lang.Runtime.getRuntime().exec("ping -n 1 "+ip2).waitFor()==0);
if(reachable){
System.out.println("IP is reachable:: "+ip2);
}
else{
System.out.println("IP is not reachable: "+ip2);
}
}
}catch(Exception e)
{
e.printStackTrace();
}
}
}
编辑1:
我使用内置的 Java 函数来执行 ping,但它(再次)不起作用
这是我使用的代码
import java.io.IOException;
import java.net.InetAddress;
import java.net.UnknownHostException;
public class Test {
public static void main(String[] args) throws UnknownHostException, IOException {
String ip = "192.168.1.243";
InetAddress inet = InetAddress.getByName(ip);
System.out.println("Sending Ping Request to " + ip);
if (inet.isReachable(5000)){
System.out.println(ip+" is reachable");
}
else{
System.out.println(ip+" is not reachable");
}
}
}
输出是:
Sending Ping Request to 192.168.1.243
192.168.1.243 is not reachable
这也是我从 Windows 7 内置 Ping 功能 (cmd) 执行 ping 操作时的 ping 结果
最佳答案
使用isReachable()
相反。
InetAddress.getByName(address).isReachable(timeout);
关于java - Ping 函数返回所有 ping 到的 IP 地址均可访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16972206/
我是一名优秀的程序员,十分优秀!