check-host.net API의 Java 구현
문제가 발생하면 문제 추적기에 보고해 주세요.
CheckHost4J에 대해 이야기하고 싶거나 도움이 필요하다면 언제든지 내 Discord에 가입하세요.
Gradle/Maven과 함께 CheckHost4J를 사용하려면 Maven Central, Lenni0451의 Maven 또는 Jitpack을 사용할 수 있습니다.
또한 빌드 스크립트에 이를 구현하는 방법에 대한 지침도 찾을 수 있습니다.
최신 jar 파일을 원할 경우 GitHub Actions에서 다운로드하거나 릴리스를 사용할 수 있습니다.
이 라이브러리를 사용하려면 클래스 경로에 Gson이 있어야 합니다.
API 기본 클래스는 CheckHost4J
이며 API와 상호 작용하는 모든 메서드를 포함합니다.
final CheckHost4J checkHost = CheckHost4J . INSTANCE ;
CheckHost4J.INSTANCE
사용하거나 직접 CheckHost4J
의 새 인스턴스를 생성할 수 있습니다. 자체 인스턴스를 생성하여 API에 요청을 보내는 데 사용되는 IRequester
를 직접 정의할 수 있습니다.
final CheckHost4J checkHost = new CheckHost4J (...);
기본 IRequester
JavaRequester.INSTANCE
를 통해 액세스할 수 있는 JavaRequester
입니다. new JavaRequester("<user-agent>")
사용하여 새 인스턴스를 생성할 수도 있습니다.
final CheckHost4J checkHost = new CheckHost4J ( new JavaRequester ( "MyUserAgent" ));
CheckHost4J#ping
, CheckHost4J#http
, CheckHost4J#tcpPort
, CheckHost4J#udpPort
및 CheckHost4J#dns
메소드를 사용하여 ResultNode<T>
얻을 수 있습니다. 여기서 T는 요청의 결과 유형입니다(예: PingResult
, TCPResult
).
final ResultNode < PingResult > pingResult = checkHost . ping ( "example.com" , 80 /* max nodes */ );
ResultNode<T>
얻은 후에는 tickResults()
사용하여 getResults()
목록을 업데이트할 수 있습니다.
// This will update the results list by sending the check-result request to the API,
// This might not update all results, because some might not be finished yet
// Which means you have to call this method multiple times to get all results (e.g. with a delay of 5 seconds)
pingResult . tickResults ();
final Map < ServerNode , PingResult > results = pingResult . getResults ();
results . forEach (( serverNode , result ) -> {
if ( result == null ) { // All results which are not finished yet will be null
System . out . println ( serverNode . name + " is still checking..." );
} else if ( result . getErrorMessage () != null ) {
System . out . println ( serverNode . name + " failed: " + result . getErrorMessage ());
} else {
System . out . println ( serverNode . name + " responded: " + result . getSuccessfulPings () + "/" + result . getTotalPings ());
}
});
getNodes()
메서드를 사용하여 확인 중인 모든 서버 노드를 가져올 수도 있습니다.
final List < ServerNode > nodes = pingResult . getNodes ();
de.florianmichael.checkhost4j.model.result
패키지에는 요청 결과를 저장하는 데 사용되는 모든 결과 클래스가 포함되어 있습니다.
모든 요청 유형의 목록을 얻으려면 ResultType
열거형을 사용할 수 있습니다.