Тайм-аут Java InetAddress.isReachable ()

Я пытаюсь выяснить, доступны ли определенные узлы в моей сети. Мой код Java выглядит следующим образом:

InetAddress adr = InetAddress.getByName(host);
if(adr.isReachable(3000)){
    System.out.println(host + " is reachable");
}

Это работает довольно хорошо, однако, если я уменьшу время ожидания до 500 мс, это больше не будет обозначать достижимый хост. Я планирую проверить несколько хостов в цикле, поэтому очень важно иметь малое время ожидания. Если я пингую хост вручную из командной строки Windows, это займет менее 10 мс.

Так почему же метод Java требует гораздо более высокого времени ожидания для успеха? Есть ли альтернативы использованиюisReachable()?

Ответы на вопрос(1)

Ваш ответ на вопрос