qileilove

blog已经转移至github,大家请访问 http://qaseven.github.io/

Android:Ping命令测试网络

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import android.app.Activity;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
new NetPing().execute();
}
public String Ping(String str) {
String resault = "";
Process p;
try {
//ping -c 3 -w 100  中  ,-c 是指ping的次数 3是指ping 3次 ,-w 100  以秒为单位指定超时间隔,是指超时时间为100秒
p = Runtime.getRuntime().exec("ping -c 3 -w 100 " + str);
int status = p.waitFor();
InputStream input = p.getInputStream();
BufferedReader in = new BufferedReader(new InputStreamReader(input));
StringBuffer buffer = new StringBuffer();
String line = "";
while ((line = in.readLine()) != null){
buffer.append(line);
}
System.out.println("Return ============" + buffer.toString());
if (status == 0) {
resault = "success";
} else {
resault = "faild";
}
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
return resault;
}
private class NetPing extends AsyncTask<String, String, String> {
@Override
protected String doInBackground(String... params) {
String s = "";
s = Ping("www.baidu.com");
Log.i("ping", s);
return s;
}
}
}
 !!!别忘了加访问网络权限!!!
  下面是运行截图:
  如果对 运行结果中的  PING www.a.shifen.com (61.135.169.125) 感到怀疑,那么可以试一下 61.135.169.125 就是百度的网址。
  suceess则表示连接成功
  如果当前没有连接网络,return 会是 空的 ,结果会是 faild。
  如果ping的网址是不存在的,而且还连接着网络,那么程序就会 停在
  int status = p.waitFor();
  这里,不再向下运行。
  Ping远程IP    
  这一命令可以检测本机能否正常访问Internet。比如本地电信运营商的IP地址为:202.101.224.69。在MS-DOS方式下执行命令:Ping 202.101.224.69,如果屏幕显示:
C:\Documents and Settings\Administrator>ping 202.101.224.69
Pinging 202.101.224.69 with 32 bytes of data:
Reply from 202.101.224.69: bytes=32 time=2ms TTL=250
Reply from 202.101.224.69: bytes=32 time=2ms TTL=250
Reply from 202.101.224.69: bytes=32 time=3ms TTL=250
Reply from 202.101.224.69: bytes=32 time=2ms TTL=250
Ping statistics for 202.101.224.69:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),  Approximate round trip times in milli-seconds:
Minimum = 2ms, Maximum = 3ms, Average = 2ms
  则表明运行正常,能够正常接入互联网。反之,则表明主机文件(windows/host)存在问题。

posted on 2014-03-12 10:40 顺其自然EVO 阅读(8370) 评论(0)  编辑  收藏 所属分类: android


只有注册用户登录后才能发表评论。


网站导航:
 
<2014年3月>
2324252627281
2345678
9101112131415
16171819202122
23242526272829
303112345

导航

统计

常用链接

留言簿(55)

随笔分类

随笔档案

文章分类

文章档案

搜索

最新评论

阅读排行榜

评论排行榜