:サーバーにリモート
あなたはまた、HTTP
を使用することができます
boolean reachable = InetAddress.getByName(hostname or IP).isReachable();
ある場合
public static boolean checkServerAvailability(String host, int port, int timeout) {
try (Socket socket = new Socket()) {
socket.connect(new InetSocketAddress(host, port), timeout);
return true;
} catch (IOException e) {
return false; // time is out , or the server is unreachable
}
}
は、あなたがこれを使用することができます
HttpURLConnection connection = (HttpURLConnection) new URL(url).openConnection();
connection.setRequestMethod("HEAD");
int responseCode = connection.getResponseCode();
if (responseCode != 200) {
// there is a problem with connection
}
'isReachable()'は、サーバーが接続を受け付けているかどうかをテストしません.HTTPコードは12秒のタイムアウトの問題に対処しません。 – EJP
私は、isReachable()は、サーバーがリモートサーバであるかどうかをチェックするために使用され、HTTPは接続をチェックするために使用され、12秒はサーバ上の設定または何か他のものである可能性があるので、HTTPコードはpingと同じです。 –
いいえ、あなたはしませんでした。あなたは「サーバーが遠隔である場合」についての不完全な文を投稿しましたが、それは何も意味しません。 HTTPコードは、OPがすでに行っているものと事実上の違いはありません。 – EJP