我知道如何检查某个站点/ IP地址是否可访问。但我想知道是否可以知道特定站点或IP地址的响应时间或毫秒(毫秒)的ping?
谢谢!
答案 0 :(得分:2)
非常有可能:) 只需确保您拥有正确的权限(将其放在AndroidManifest.xml中)
<uses-permission android:name="android.permission.INTERNET" />
我的代码非常有效。
public String ping(String url) {
String str = "";
try {
java.lang.Process process = Runtime.getRuntime().exec(
"ping -c 1 " + url);
BufferedReader reader = new BufferedReader(new InputStreamReader(
process.getInputStream()));
int i;
char[] buffer = new char[4096];
StringBuffer output = new StringBuffer();
String op[] = new String[64];
String delay[] = new String[8];
while ((i = reader.read(buffer)) > 0)
output.append(buffer, 0, i);
reader.close();
op = output.toString().split("\n");
delay = op[1].split("time=");
// body.append(output.toString()+"\n");
str = delay[1];
Log.i("Pinger", "Ping: " + delay[1]);
} catch (IOException e) {
// body.append("Error\n");
e.printStackTrace();
}
return str;
}
上面的代码就像你能得到的一样简单。 要调用代码......
String str = ping("www.google.com");
//Unecessary but it makes it easier
android.widget.Toast.makeText(this, str, android.widget.Toast.LENGTH_LONG).show();
答案 1 :(得分:1)