08
--
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
--
>>
<<
--
RECOMMEND
RECOMMEND
スティーブ・ジョブズ I
スティーブ・ジョブズ I (JUGEMレビュー »)
ウォルター・アイザックソン
取材嫌いで有名なスティーブ・ジョブズが唯一全面協力した、本人公認の決定版評伝。
RECOMMEND
RECOMMEND
ザ・マインドマップ
ザ・マインドマップ (JUGEMレビュー »)
トニー・ブザン,バリー・ブザン
SPONSORED LINKS
RECENT COMMENT
RECENT TRACKBACK
MOBILE
qrcode
OTHERS
<< [Java] クラスのフィールド一覧を表示 | top | [Java] JTextFieldの枠線を無くす >>
スポンサーサイト

一定期間更新がないため広告を表示しています

スポンサードリンク | - | | - | - | - | - |
[Java] ICMP ping
JavaでICMP Ping。

・isReachableで。何をやっても1000msかかるのは指定が悪いのか???
  Reachableは正確なICMPではないし。

       boolean isReachable = false;
        long start,end;
        try {
            InetAddress address = InetAddress.getByName("10.0.0.1");

            start = System.currentTimeMillis();
            isReachable = address.isReachable(2000);
            end = System.currentTimeMillis();
            if(isReachable == true) {
                System.out.println("address.isReachable OK! : " + (end - start));
            }
            else {
                System.out.println("address.isReachable NG! : " + (end - start));
            }

        } catch (Exception e) {
            System.out.println(e);
        }


・OSのpingコマンドを使用して。こっちのが正しいと思う。

        try {
            InetAddress target = InetAddress.getByName("10.0.0.1");

            // Windows の場合
            String[] command = {"ping", "-n", "1", "-w", "1000", target.getHostAddress()};
// Linux の場合
// String[] command = {"ping", "-c", "1", "-t", TIMEOUT, inetAddress.getHostAddress()};
            return new ProcessBuilder(command).start().waitFor() == 0;
        }
        catch(Exception e) {
            System.out.println(e);
        }
        return false;



こんな結果になる。

address.isReachable OK! : 1011
ping ProcessBuilder OK! : 68

shi-n | 学び | 20:55 | comments(0) | trackbacks(0) | - | - |
スポンサーサイト
スポンサードリンク | - | 20:55 | - | - | - | - |
Comment









Trackback
URL: