我用InetAddress.getByName(host).isReachable(timeOut); 来ping局域网中的主机 比如192.168.0.11 timeOut=3000ms但是有的时候我发现用cmd窗口去ping的时候(ping 192.168.0.11) 显示主机可以连接
而用InetAddress.getByName(host).isReachable(timeOut);的时候却返回false 请问这个是为什么? 我想他们2个的结果应该是一致的啊?
而用InetAddress.getByName(host).isReachable(timeOut);的时候却返回false 请问这个是为什么? 我想他们2个的结果应该是一致的啊?
另外TCP connection on port 7(ECHO)是不是也有什么限制呢
import java.io.IOException;
import java.net.InetAddress;
import java.net.UnknownHostException;public class Test {
public static void main(String[] args) {
try {
boolean result = InetAddress.getByName("192.168.0.1").isReachable(30000);
System.out.println(result);
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
ICMP ECHO REQUESTs(另外检查了路由器端口7是不通的,可见不是通过TCP connection on port 7) 可以连通我局域网内路由器,但不能连通另外一台机器(192.168.0.101) 但都是可以命令行ping通的,也许这是和目标主机设置有关,但是和ping又有所区别
可以java调用cmd命令行ping?