1)我如何检查一个远程机器是否启动(up意味着它正在运行)。
2)另外我怎样才能得到自上次启动时间以来机器的时间?
我将会得到一个运行在机器A上的java程序,它将检查机器C和D是否启动,以及机器启动的关系。 两台机器都在同一个局域网内。
程序应该是能够检查是否有任何Windows机器up.How我可以检查相同的Linux如果possibe?我更感兴趣的Windows作为机器C和D
如果你想从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); }
您可以ping一台机器,看看它是否正在运行,并通过网络可达。
如果您希望另一台机器返回特定信息(如正常运行时间),则需要在目标机器上运行某种服务,然后调用该服务以检索正常运行时间。
如果你需要更多的平台, 套接字是需要考虑的事情。 或者,这可能是矫枉过正,你可以在目标机器上运行Tomcat,然后通过HTTP调用它们。