藍森林首頁 | 返回主頁 | 本站地圖 | 站內搜索 | 聯繫信箱 |
 您目前的位置:首頁 > 自由軟件 > 技術交流 > 應用編程


    

藍森林 http://www.lslnet.com 2006年6月6日 10:18



怎麼用java來判斷能否ping通一IP?

求教!

怎麼用java來判斷能否ping通一IP?

[code]import java.io.*;

import java.lang.*;

public class javaping {

   public static void main(String[] args) {

      try {

         Process p = Runtime.getRuntime().exec("ping www.sina.com.cn");

         byte[] msg = new byte[128];

         int len;

         while((len=p.getInputStream().read(msg)) >; 0) {

            System.out.print(new String(msg, 0, len));

         }

         String rs = "\n";

         byte[] rb  = new byte[] { (byte)'\n' } ; //rs.getBytes();

         OutputStream os = p.getOutputStream();

         os.write(rb);

         os.close();

      } catch (Exception e) {

         e.printStackTrace();

      }

   }

}

[/code]

怎麼用java來判斷能否ping通一IP?

查查jdk1.5的新特性,可以實現你的要求

怎麼用java來判斷能否ping通一IP?

我想要的是直接能返回true或false的方法
Runtime.getRuntime().exec("ping ***")不好

怎麼用java來判斷能否ping通一IP?

http://www.rgagnon.com/javadetails/java-0093.html
參考一下這個

怎麼用java來判斷能否ping通一IP?

他的方法有個缺點:假如"ping"不通,它會拋出一個Exception:Connection timed out!可是它等待的時間太長(太長!!),不能很快就能判斷"ping"不通,有沒有什麼方法可以很快判斷"ping"不通?

怎麼用java來判斷能否ping通一IP?

-->


樓主也應該表達的委婉禮貌一些嘛,這樣直接了當豈不讓回答問題的兄弟很 :cry:

怎麼用java來判斷能否ping通一IP?

不好意思!
謝謝你們提供這麼多方案!
謝謝大家了!

怎麼用java來判斷能否ping通一IP?

java好像什麼辦法可以直接發ICMP包的。真正的ping好像很難做到
如果真的是希望知道主機提供的服務時候還工作的話,可能鏈接對應的端口是個辦法。比如http就測試一下80端口。

怎麼用java來判斷能否ping通一IP?

Networking Enhancments for J2SE 5.0

The InetAddress class now provides an API to allow testing for the reachability of a host. This features provides a ping-like capability in Java. (4639861)

怎麼用java來判斷能否ping通一IP?

樓主關注一下Tiger的新特性吧。應該可以滿足要求。

怎麼用java來判斷能否ping通一IP?

聖騎士您好
可否解釋您的源程序,我不太看的懂!謝謝!




Copyright © 1999-2000 LSLNET.COM. All rights reserved. 藍森林網站 版權所有。 E-mail : webmaster@lslnet.com