Хочу сделать программу простую, которая пингует сервера. Работает так: InetAddress.getByName("123.123.123.123") и замеряю время с помощью System.currentTimeMills(). Проблема в том, что когда делаю замеры на пингующем сервере, получаю большое время пинга, но последующие запуски программы показывают малое время. Я полагаю, что эти замеры как-то кэшируются, либо к серверу компьютер быстро подключается. В общем вопрос такой почему так происходит?
import java.net.InetAddress;
import java.net.UnknownHostException;
class Main {
public static void main(String[] args) throws UnknownHostException {
long t = System.currentTimeMillis();
InetAddress a = InetAddress.getByName("68.251.250.193");
a.getHostName();
System.out.println(System.currentTimeMillis() - t);
long m = System.currentTimeMillis();
InetAddress x = InetAddress.getByName("104.128.206.123");
x.getHostName();
System.out.println(System.currentTimeMillis() - m);
}
}
Используйте InetAddress.isReachable() для проверки доступности сервера.
import java.io.IOException;
import java.net.InetAddress;
class Main {
private static final int TIMEOUT = 3 * 1000;
private static boolean ping(String addr) {
try {
InetAddress address = InetAddress.getByName(addr);
return address.isReachable(TIMEOUT);
} catch (IOException exc){
return false;
}
}
public static void main(String[] args) {
long t = System.currentTimeMillis();
if (ping("68.251.250.193"))
System.out.println("Сервер доступен");
else
System.out.println("Сервер недоступен");
System.out.println(System.currentTimeMillis() - t);
}
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
после запуска приложения на heroku (telegram бот без использования спринга, собираемый с помощью maven) где то через минуту работы оно крашитсяЯ так...
Как это возможно и как от этого избавиться? Использую состояние React
Каким образом можно убрать эту кнопку? Я нашел в документации код, но как его написать правильно непонятно:
Хотите улучшить этот вопрос? Добавьте больше подробностей и уточните проблему, отредактировав это сообщение