我如何检查远程机器是否启动?

时间:2011-07-14 14:53:06

标签: java windows ping

1)如何检查远程机器是否启动(向上意味着它已打开并运行) 2)从上次启动机器起,我怎样才能获得机器启动的时间?

我将在机器A上运行一个java程序,该程序将检查机器C和D是否已启动以及机器已启动的并列。 两台机器都在同一个局域网中。
程序应该是能够检查是否有任何Windows机器。如果可能的话我如何检查linux相同?我对Windows机器C和D更感兴趣

2 个答案:

答案 0 :(得分:2)

如果您想在JAVA中ping,您可以执行此操作。

import java.net.Socket;

//7 specifies Socked
Socket t = new Socket("111.111.1.11", 7);

编辑:我认为您可以在命令提示符中简单地分配套接字。

example = String ip = XXX.XXX.X.XX:XXXX

或者要ping网络上的特定IP,您可以使用此功能。

public static void main(String[] args) {

        // ip = IP/website you want to ping or google!
        String ip = "google.com";
        //Don't forget to leave a space after ping
        String pingcmd = "ping " + ip;
        Runtime r = Runtime.getRuntime();
        Process p;
    try {
        p = r.exec(pingcmd);
        BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream()));
       String inputLine;
       while ((inputLine = in.readLine()) != null) {

       System.out.println(inputLine);
        }
    }
     catch (IOException ex) {
        Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
    }

答案 1 :(得分:0)

您可以ping一台计算机查看它是否正在通过网络运行和访问。

如果您希望其他计算机返回特定信息(如正常运行时间),则需要在目标计算机上运行某种服务,然后调用该服务以检索正常运行时间。

如果您需要的不仅仅是Ping,那么

Sockets是需要考虑的事情。或者,它可能有点过分,您可以在目标计算机上运行Tomcat,然后通过HTTP调用它们。