Как я могу проверить, работает ли удаленный компьютер или нет? - PullRequest
1 голос
/ 14 июля 2011

1) Как я могу проверить, работает ли удаленный компьютер («включен», означает, что он включен и работает).
2) Кроме того, как я могу получить время, в течение которого машина работает с момента последнего запуска?

У меня будет Java-программа, работающая на машине A, которая проверит, работают ли машины C и D, и связь, для которой машина работает.Обе машины находятся в одной локальной сети.
Программа должна быть в состоянии проверить, работает ли какой-либо компьютер с Windows. Как я могу проверить то же самое для Linux, если это возможно? Меня больше интересует Windows как машина C и D

Ответы [ 2 ]

2 голосов
/ 14 июля 2011

Если вы хотите пинговать изнутри JAVA, вы можете сделать что-то это.

import java.net.Socket;

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

РЕДАКТИРОВАТЬ: я бы предположил, что вы можете просто назначить сокет, как в командной строке.

пример = String ip = XXX.XXX.X.XX:XXXX

Или для пингования определенного 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);
    }
0 голосов
/ 14 июля 2011

Вы можете пинговать машину, чтобы увидеть, работает ли она и доступна ли она по сети.

Если вы хотите, чтобы другая машина возвращала определенную информацию, например, время работы, то вам нужно иметькакая-то служба работает на целевой машине, а затем вызывает ее для получения времени безотказной работы.

Сокеты - это то, что нужно учитывать, если вам нужно больше, чем Ping.Или, возможно, это излишне, вы можете запустить Tomcat на целевой машине и затем вызывать их по HTTP.

...