¿Cómo implementar su propio método InetAddress.isReachable (String address, int port, int timeout) en Java?

Publicado: 2020-10-06
Implemente su propio método InetAddress.isReachable en Java

En Java hay varias formas de verificar el ping y la verificación del puerto. Puede usar el comando ping predeterminado del sistema, la utilidad InetAddress del método nativo de Java, HttpURLConnection y algunos más.

En producción o en su entorno de prueba, si desea realizar varias comprobaciones de puertos, digamos cientos de comprobaciones al mismo tiempo, a veces el método InetAddress.isReachable() no obtiene la respuesta correcta.

Infect en mi caso, noté un 100% de falla al intentar conectarme a www.google.com. ¿Tiene alguna de las siguientes preguntas?

  • java – ¿Por qué InetAddress.isReachable devuelve falso, cuando puedo hacer ping a la dirección IP?
  • ¿Cómo comprobar si tengo conexión a Internet?
  • Ejemplos de código Java para java.net.InetAddress.isReachable()
  • Java comprueba si la dirección IP es accesible
  • ¿Cómo probar si un sistema remoto es accesible?

Siga este tutorial si desea realizar una verificación de ping utilizando HttpURLConnection.openConnection()

En este tutorial, repasaremos 2 formas diferentes de realizar una verificación de Ping:

  1. Método InetAddress.isReachable (tiempo de espera)
  2. El método crunchifyAddressReachable(host, port, timeout) de Crunchify que funciona el 100 % del tiempo

Empecemos:

  1. Cree la clase CrunchifyInetAddressIsReachable.java.
  2. Crearemos 2 métodos pingCheckbyInetAddressisReachable() y pingCheckbyCrunchifyisReachable() en los que realizaremos 2 pruebas diferentes.

¿Qué método estamos usando crunchifyAddressReachable()?

Estamos usando java.net.Socket en nuestra implementación. La clase Socket implementa sockets de clientes. Con la ayuda de la utilidad connect() estamos obteniendo el 100% de los resultados correctos. Por favor, eche un vistazo al siguiente código para obtener más detalles.

CrunchifyInetAddressIsReachable.java

Una vez que copie el código en el entorno Eclipse, simplemente ejecútelo como aplicación Java para ver el resultado a continuación.

Salida de la consola: