这些天用ping代码的时候发现之前的ping部分代码有大问题~就找了一个ping,使用的命令行,测了下,效果不错,可以用
public static boolean ping3(String address, int pingTimes, int timeOut) {
Process process = null;
try {
process = Runtime.getRuntime().exec( "ping " + "-c " + pingTimes + " -w " + timeOut+ " "+address);
InputStreamReader r = new InputStreamReader(process.getInputStream());
LineNumberReader returnData = new LineNumberReader(r);
String returnMsg="";
String line = "";
while ((line = returnData.readLine()) != null) {
System.out.println(line);
returnMsg += line;
}
if(returnMsg.indexOf("100% packet loss")!=-1){
System.out.println("与 " +address +" 连接不畅通.");
return false;
} else{
System.out.println("与 " +address +" 连接畅通.");
return true;
}
} catch (IOException e) {
e.printStackTrace();
}
return false;
}
调用
if (ping3("www.baidu.com",2,2)) {
Log.e(TAG, "有网络,确定可用");
} else {
Log.e(TAG, "网络不可用");
}
博客内容讲述了如何使用Java代码实现ping命令来检测网络连接是否畅通,通过指定次数和超时时间来执行ping操作,并根据返回结果判断网络状态。
519

被折叠的 条评论
为什么被折叠?



