Java 为什么我不能ping一台计算机?

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

我这里有两个Windows系统在同一个网络(XP)。 如果我打开cmd并键入

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”。

可能重复您使用say
www.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'