当前位置:   article > 正文

Android:Ping命令测试网络_android ping

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;
		}
	}
		
 
 
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65

!!!别忘了加访问网络权限!!!
下面是运行截图:
在这里插入图片描述

如果对 运行结果中的 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)存在问题。

如果想多了解更多关于Ping的知识,http://wenku.baidu.com/view/2042e1630b1c59eef8c7b46a.html 这里可以看一下。

上面的代码是在别人那里下载,自己稍微改动的。下载地址为 http://download.csdn.net/detail/allvenacm/4845468

不过不好意思,我给那位的评论写错了。
————————————————
版权声明:本文为CSDN博主「VanishMagic」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u012251822/article/details/12647211
其它参考资料:https://blog.csdn.net/android_cai_niao/article/details/118022111

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Li_阴宅/article/detail/739103
推荐阅读
相关标签
  

闽ICP备14008679号