在如下情况下,请问如何用java语言判断当前网络状态是否连通?
网络状态:
(拔掉网线,disable网卡,关闭目标计算机)
我做了如下试验:
1.使用java.net.InetAddress.isReachable方法,发现在不同的平台下(Unix, Win2000, WinXP)当出现上述情况时,函数不全是返回false.
2.在java程序中调用ping命令,判断ping命令的返回值:
在unix和windows xp上,ping命令返回正确(能够连通返回0,不通返回非零)但是在windows2000上,当拔掉网线时ping远程计算机,ping命令返回结果仍然是0。请问各位,有什么方法可以准确判断如上的网络状况?
谢谢。

解决方案 »

  1.   

    ping命令返回结果仍然是0,什么意思?
      

  2.   

    很简单,你可以根据System.getProperty("os.name");来判断当前平台,
    如果是在unix和windows xp上,ping命令返回正确(能够连通返回0,不通返回非零)
    那么就用ping来判断
    如果是Win2000,那么就用java.net.InetAddress.isReachable或者其它方法来判断