Я пытаюсь выяснить, доступны ли определенные хосты в моей сети.Мой java-код выглядит следующим образом:
InetAddress adr = InetAddress.getByName(host);
if(adr.isReachable(3000)){
System.out.println(host + " is reachable");
}
Это работает довольно хорошо, однако, если я уменьшу время ожидания до 500 мс, оно не будет обозначать хост, доступный больше.Я планирую проверить несколько хостов в цикле, поэтому очень важно иметь малое время ожидания.Если я пингую хост вручную из командной строки Windows, это займет менее 10 мс.
Так почему же для успеха метода Java требуется гораздо более длительное время ожидания?Есть ли альтернативы использованию isReachable()
?