2017-05-20 18 views
0

Plsは私を助けます。 1つの簡単なプログラムで作業を終了します。私はサーバーの状態を確認する必要があります。 InetAdress.isReachebleとSocketを使用しようとしました。しかし、時にはサーバー上のサーバーが私はサーバーの状態を偽に取得します。多くの情報を読んだら、これはJava enter link description hereのバグの1つであることに気付きました。しかし、源は古いです。この問題はまだ関連していますか? 私は、コードにこのコメントenter link description hereJavaのインターネット制御メッセージプロトコル

private static boolean isReachable(String addr, int openPort, int timeOutMillis) { 
try { 
    // Any Open port on other machine 
    // openPort = 22 - ssh, 80 or 443 - webserver, 25 - mailserver etc. 
    try (Socket soc = new Socket()) { 
     soc.connect(new InetSocketAddress(addr, openPort), timeOutMillis); 
    } 
    return true; 
} catch (IOException ex) { 
    return false; 
} 

Windows上のサーバーは、私はポートRDP(3389)を使用する場合を使用してみました。 しかし、顧客は好きではありません。彼は私にICMPを通じてステータスをチェックさせたいと思っています。これは可能ですか? アプリが見つかりましたICMP enter link description hereアプリケーションライブラリから接続しようとしましたが、何も起こりませんでした。 私はどんな情報にも感謝します!デフォルトで

答えて

0

InetAddress.isReachebleは私の愚かな質問

ため enter link description here Plsは申し訳ありません、ICMPを使用しています
関連する問題