您的位置:首页 > 移动开发 > Android开发

Android判断目标IP是否存在

2015-12-29 14:05 555 查看
一共有两种方法:

一、通过TCP发送消息到目标IP,捕获异常。

        此方法不累述了,此方法有一个最大的问题是当对方单向断网则不管用了(例如拔网线)。

二、通过windows下ping命令的方式

        此方法是目前最有效的方法,并且ping方式有别于SOCKET通信,可以直接在主线程中运行。

</pre><pre>
private boolean startPing(String ip) {
boolean isexist = false;
Process process = null;

try {
process = Runtime.getRuntime().exec("ping -c 1 -i 0.5 -W 1 " + ip);
int status = process.waitFor();
if (status == 0) {
isexist = true;
} else {
isexist = false;
}
} catch (IOException e) {
isexist = false;
} catch (InterruptedException e) {
isexist = false;
} finally {
process.destroy();
}
Log.i("mmmm", "ping:"+ip+",isexist:"+isexist);
return isexist;
}


-c:表示次数,1 为1次 
-w:表示deadline, time out的时间,单位为秒,100为100秒。

-i:表示秒数,设定间隔几秒送一个网络封包给一台机器,预设值是一秒送一次。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: