2016-11-06 4 views
-3

を使用して、特定のポート上の要求を受け入れている私はいくつかを経て、サーバはライブやFYI javaのチェックサーバは、ライブとJava

  • を使用して特定のポートからのデータを受け入れるかどうかを確認する方法を、サーバーにデータをプッシュする必要がサーバー上で、ソケットを使用して、応答時間をダウンしようとした時に、ジョブ
  • を行うためにソケットを使用ポストは12秒
  • でくださいディ

を介して取得するための最良の方法は、ありがとう示唆

あなたはユーザー(ソケットを使用)、このメソッドができ

答えて

-1

:サーバーにリモート

あなたはまた、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 
} 
+0

'isReachable()'は、サーバーが接続を受け付けているかどうかをテストしません.HTTPコードは12秒のタイムアウトの問題に対処しません。 – EJP

+0

私は、isReachable()は、サーバーがリモートサーバであるかどうかをチェックするために使用され、HTTPは接続をチェックするために使用され、12秒はサーバ上の設定または何か他のものである可能性があるので、HTTPコードはpingと同じです。 –

+0

いいえ、あなたはしませんでした。あなたは「サーバーが遠隔である場合」についての不完全な文を投稿しましたが、それは何も意味しません。 HTTPコードは、OPがすでに行っているものと事実上の違いはありません。 – EJP