Open a shell and ping a host is easy - doing the same in Java is hard. Before Java 5 (1.5) there was no native way to send an ICMP ping to test whether a machine is up and running. Since Java 5 there is a method in the InetAddress class which should make sending pings a trivial task. However the behaviour of this call seems to be platform dependent (based on my wireshark observations). Calling thi
ネットワーク関連のコマンドでよく使うものは何と聞かれたとすると、まっさきに頭に浮かぶのは「Ping」ではないでしょうか。さて、このPingをJAVAで実行するにはどうすればいいかというのを調べてみました。(別にJAVAでやる必要ないじゃん!という突っ込みは無しの方向で) 方法は色々あるかと思います。例えば、JNI(Java Native Interface)を使ってPingコマンドを実行するというのもその一つ。それでも良いのだけど、JAVAを使うのだからどんなプラットフォームでも使えるものにしたい。つまり完全にネィティブなJAVAオンリーで作りたいのです。 結論としてICMPのPINGそのものは使えなくても、Pingの代わりとして使えそうなクラスがありましたので、今回はそれを使う方法をご紹介します。(ちなみにこの方法はJava Platform SE 5.0 以降のバージョンでないと使えま
結論:JavaでPingを打つには、外部プロセスを使う。 public class NativeProcess { /** ping のタイムアウト(ms) */ private static String TIMEOUT = "3000"; public static void main(String... args) throws IOException, InterruptedException{ boolean ret = ping(Inet4Address.getByName("192.168.1.1")); System.out.println(ret ? "SUCCESS" : "FAILED"); } /** * Ping を実行し、ホストとの疎通を確認します。 * * @param target 疎通確認をしたいホスト * @return 疎通が確認できれば true,
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く