Android:Ping命令测试网络

    xiaoxiao2022-07-15  156

    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/ 相关资源:手机端实现Ping测试功能
    最新回复(0)