Java 为什么我不能ping一台计算机?
我这里有两个Windows系统在同一个网络(XP)。 如果我打开cmd并键入Java 为什么我不能ping一台计算机?,java,networking,ping,Java,Networking,Ping,我这里有两个Windows系统在同一个网络(XP)。 如果我打开cmd并键入 ping Computer2 我得到了答案(所以平在工作)。 我想我也可以用Java实现这一点,但不知为什么它不起作用: public static void ping() { System.out.println("Ping Poller Starts..."); final String computer = "Computer2"; InetAddress inet = null; try
ping Computer2
我得到了答案(所以平在工作)。
我想我也可以用Java实现这一点,但不知为什么它不起作用:
public static void ping() {
System.out.println("Ping Poller Starts...");
final String computer = "Computer2";
InetAddress inet = null;
try {
inet = InetAddress.getByName(computer);
} catch (UnknownHostException e) {
e.printStackTrace();
}
System.out.println("Sending Ping Request to " + computer);
boolean status = false;
try {
status = inet.isReachable(5000);
} catch (IOException e) {
e.printStackTrace();
}
if (status)
{
System.out.println(computer + " ok");
}
else
{
System.out.println(computer + " not pingable");
}
}
始终
不可ping
。使用localhost
代码就可以了。但是使用Computer2
我无法ping-但是通过cmd它可以工作。有什么想法吗?不清楚您是在ping IP地址还是计算机名,但可能很简单,比如使用“\Computer2”而不是“Computer2”。可能重复您使用saywww.stackoverflow.com
?可能有很多事情isReachable()
甚至不能保证像ping
命令那样使用ICMP ECHO。尝试使用IP而不是“Computer2”。看@CongXu不,它不起作用了。。。只是“localhost”通过Java工作。我正在ping计算机名。使用\Computer2或在Java中“\\Computer2”不起作用:Java.net.unknownHostException和ping IP地址如何?哦,这很有趣。即使是ip也不起作用。你下一步要尝试的应该是ping一个你知道有效的外部IP地址(试试173.194.34.102,也就是google.com)。不,这甚至不能通过cmd工作。我不能用平安号。所以“ping www.stackoverflow.com”或“ping google.com”即使通过cmd也不起作用。可能是网络出了问题,或者我没有权限。但正如我所说,我可以通过cmd ping'Computer2'