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
で、 JavaRequester.INSTANCE
経由でアクセスできます。 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
列挙型を使用できます。