1. 程式人生 > >android 下測試網路的丟包率和延遲

android 下測試網路的丟包率和延遲

昨天做網路延遲和丟包率,以前沒弄過,網上尋找也沒找到什麼有效的,弄了一下午搞定了,程式碼如下,希望對大家有幫助,寫的不好,還請大家批評指正

			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";
				}

			}