Как реализовать свой собственный метод InetAddress.isReachable(String address, int port, int timeout) в Java?

Опубликовано: 2020-10-06
Реализуйте свой собственный метод InetAddress.isReachable в Java.

В Java есть несколько способов проверить пинг и порт. Вы можете использовать системную команду ping по умолчанию, собственный метод Java InetAddress , HttpURLConnection и некоторые другие.

В производственной или тестовой среде, если вы хотите выполнить несколько проверок портов, скажем, сотни проверок одновременно, иногда InetAddress.isReachable() не получает правильный ответ.

Infect в моем случае, я заметил 100% отказ при попытке подключиться к www.google.com. У вас есть какие-либо из приведенных ниже вопросов?

  • java — Почему InetAddress.isReachable возвращает false, когда я могу пропинговать IP-адрес?
  • Как проверить, есть ли у меня подключение к интернету?
  • Примеры кода Java для java.net.InetAddress.isReachable()
  • Java проверить, доступен ли IP-адрес
  • Как проверить, доступна ли удаленная система?

Следуйте этому руководству, если вы хотите выполнить проверку связи с помощью HttpURLConnection.openConnection().

В этом уроке мы рассмотрим 2 разных способа проверки Ping:

  1. Метод InetAddress.isReachable(время ожидания)
  2. Метод Crunchify crunchifyAddressReachable(host, port, timeout) , который работает в 100% случаев.

Давайте начнем:

  1. Создайте класс CrunchifyInetAddressIsReachable.java.
  2. Мы создадим 2 метода pingCheckbyInetAddressisReachable() и pingCheckbyCrunchifyisReachable(), в которых мы выполним два разных теста.

Какой метод мы используем crunchifyAddressReachable()?

Мы используем java.net.Socket в нашей реализации. Класс Socket реализует клиентские сокеты. С помощью утилиты connect() мы получаем 100% правильный результат. Пожалуйста, взгляните на приведенный ниже код для более подробной информации.

CrunchifyInetAddressIsReachable.java

Как только вы скопируете код в среду Eclipse, просто запустите приложение Java, чтобы увидеть результат ниже.

Выход консоли: