昨天做网络延迟和丢包率,以前没弄过,网上寻找也没找到什么有效的,弄了一下午搞定了,代码如下,希望对大家有帮助,写的不好,还请大家批评指正
String lost = new String();
String delay = new String();
Process p = Runtime.getRuntime().exec("ping -c 4 " + "119.147.15.13");
BufferedReader buf = new BufferedReader(new InputStreamReader(p.getInputStream()));
String str = new String();
while((str=buf.readLine())!=null){
if(str.contains("packet loss")){
int i= str.indexOf("received");
int j= str.indexOf("%");
System.out.println("丢包率:"+str.substring(i+10, j+1));
//System.out.println("丢包率:"+str.substring(j-3, j+1));
lost = str.substring(i+10, j+1);
}
if(str.contains("avg")){
int i=str.indexOf("/", 20);
int j=str.indexOf(".", i);
System.out.println("延迟:"+str.substring(i+1, j));
delay =str.substring(i+1, j);
delay = delay+"ms";
}
}
博主分享了在Android上进行网络延迟和丢包率测试的代码。此前网上未找到有效方法,博主经一下午努力完成。代码通过执行ping命令,从输出中提取丢包率和延迟信息并打印,希望能帮助到大家。
2644

被折叠的 条评论
为什么被折叠?



