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)存在问题。
最新内容请见作者的GitHub页:http://qaseven.github.io/

相关文章
|
1月前
|
Shell Linux C语言
【Shell 命令集合 网络通讯 】Linux 向指定用户或终端发送消息 write命令 使用指南
【Shell 命令集合 网络通讯 】Linux 向指定用户或终端发送消息 write命令 使用指南
34 0
|
1月前
|
安全 Unix Shell
【Shell 命令集合 网络通讯 】Linux 向所有当前登录的用户发送消息或通知 wall命令 使用指南
【Shell 命令集合 网络通讯 】Linux 向所有当前登录的用户发送消息或通知 wall命令 使用指南
29 0
|
5天前
|
机器学习/深度学习 缓存 监控
linux查看CPU、内存、网络、磁盘IO命令
`Linux`系统中,使用`top`命令查看CPU状态,要查看CPU详细信息,可利用`cat /proc/cpuinfo`相关命令。`free`命令用于查看内存使用情况。网络相关命令包括`ifconfig`(查看网卡状态)、`ifdown/ifup`(禁用/启用网卡)、`netstat`(列出网络连接,如`-tuln`组合)以及`nslookup`、`ping`、`telnet`、`traceroute`等。磁盘IO方面,`iostat`(如`-k -p ALL`)显示磁盘IO统计,`iotop`(如`-o -d 1`)则用于查看磁盘IO瓶颈。
|
2天前
|
移动开发 Java Android开发
构建高效Android应用:采用Kotlin协程优化网络请求
【4月更文挑战第24天】 在移动开发领域,尤其是对于Android平台而言,网络请求是一个不可或缺的功能。然而,随着用户对应用响应速度和稳定性要求的不断提高,传统的异步处理方式如回调地狱和RxJava已逐渐显示出局限性。本文将探讨如何利用Kotlin协程来简化异步代码,提升网络请求的效率和可读性。我们将深入分析协程的原理,并通过一个实际案例展示如何在Android应用中集成和优化网络请求。
|
2天前
|
安全 Ubuntu Linux
Linux 网络操作命令Telnet
Linux 网络操作命令Telnet
16 0
Linux 网络操作命令Telnet
|
10天前
|
Android开发 开发者
Android网络和数据交互: 请解释Android中的AsyncTask的作用。
Android&#39;s AsyncTask simplifies asynchronous tasks for brief background work, bridging UI and worker threads. It involves execute() for starting tasks, doInBackground() for background execution, publishProgress() for progress updates, and onPostExecute() for returning results to the main thread.
10 0
|
10天前
|
网络协议 安全 API
Android网络和数据交互: 什么是HTTP和HTTPS?在Android中如何进行网络请求?
HTTP和HTTPS是网络数据传输协议,HTTP基于TCP/IP,简单快速,HTTPS则是加密的HTTP,确保数据安全。在Android中,过去常用HttpURLConnection和HttpClient,但HttpClient自Android 6.0起被移除。现在推荐使用支持TLS、流式上传下载、超时配置等特性的HttpsURLConnection进行网络请求。
10 0
|
1月前
|
Shell Linux C语言
【Shell 命令集合 网络通讯 】Linux 即时通讯工具 ytalk命令 使用指南
【Shell 命令集合 网络通讯 】Linux 即时通讯工具 ytalk命令 使用指南
25 0
|
开发工具 Android开发 数据安全/隐私保护
|
Android开发 开发工具
Android官方命令深入分析之虚拟机
Android SDK包含了一个运行在计算机上的移动设备虚拟机。这个虚拟机可以允许你在没有物理设备的情况下开发和测试Android应用。
872 0

热门文章

最新文章