InetAddress
класс имеет метод, который использует ECMP Echo Request (он же ping) для определения доступности хостов.
String ipAddress = "192.168.1.10";
InetAddress inet = InetAddress.getByName(ipAddress);
boolean reachable = inet.isReachable(5000);
Если указанная выше переменная reachable
имеет значение true, то это означает, что хостправильно ответил с помощью ECMP Echo Reply (aka pong) в течение заданного времени (в миллис).
Примечание: Не все реализации должны использовать ping. Документация гласит, что :
Типичная реализация будет использовать ICMP ECHO REQUEST, если привилегия может быть получена, в противном случае она попытается установить TCP-соединение на порту 7 (Echo)хоста назначения.
Поэтому этот метод можно использовать для проверки доступности хостов, но его нельзя универсально использовать для проверки на проверки на основе ping.