Java에서 자신의 InetAddress.isReachable(String address, int port, int timeout) 메서드를 구현하는 방법은 무엇입니까?

게시 됨: 2020-10-06
Java에서 고유한 InetAddress.isReachable 메소드 구현

Java에는 ping 및 포트 확인을 확인하는 여러 가지 방법이 있습니다. 시스템 기본값의 ping 명령, Java의 기본 메서드 InetAddress 유틸리티, HttpURLConnection 등을 사용할 수 있습니다.

프로덕션 또는 테스트 환경에서 여러 포트 검사를 수행하려는 경우 수백 개의 검사를 동시에 수행하는 경우 InetAddress.isReachable() 메서드가 올바른 응답을 얻지 못하는 경우가 있습니다.

내 경우에는 감염, www.google.com에 연결하는 동안 100% 실패를 발견했습니다. 아래 질문이 있습니까?

  • java – IP 주소를 ping할 수 있는데 InetAddress.isReachable이 false를 반환하는 이유는 무엇입니까?
  • 인터넷에 연결되어 있는지 확인하는 방법은 무엇입니까?
  • java.net.InetAddress.isReachable()에 대한 Java 코드 예제
  • 자바는 IP 주소에 도달할 수 있는지 확인
  • 원격 시스템에 연결할 수 있는지 테스트하는 방법은 무엇입니까?

HttpURLConnection.openConnection()을 사용하여 ping 검사를 수행하려면 이 자습서를 따르십시오.

이 자습서에서는 Ping 검사를 수행하는 두 가지 방법을 살펴보겠습니다.

  1. InetAddress.isReachable(시간 초과) 메서드
  2. 100% 작동하는 Crunchify의 crunchifyAddressReachable(host, port, timeout) 메서드

시작하자:

  1. CrunchifyInetAddressIsReachable.java 클래스를 생성합니다.
  2. 2개의 다른 테스트를 수행할 pingCheckbyInetAddressisReachable() 및 pingCheckbyCrunchifyisReachable() 메서드 2개를 생성합니다.

crunchifyAddressReachable()을 사용하는 방법은 무엇입니까?

우리는 구현에서 java.net.Socket 을 사용하고 있습니다. Socket 클래스는 클라이언트 소켓을 구현합니다. connect() 유틸리티의 도움으로 100% 정확한 결과를 얻을 수 있습니다. 자세한 내용은 아래 코드를 살펴보십시오.

CrunchifyInetAddressIsReachable.java

Eclipse 환경에 코드를 복사한 후 Java Application으로 실행하면 아래 결과를 볼 수 있습니다.

콘솔 출력: