测试网络丢包情况代码
2015-03-06 15:17
781 查看
import java.io.*; import java.util.regex.Matcher; import java.util.regex.Pattern; public class PingIpUtils { public static boolean isWindowsOS() { boolean isWindowsOS = false; String osName = System.getProperty("os.name"); if (osName.toLowerCase().indexOf("windows") > -1) { isWindowsOS = true; } return isWindowsOS; } public static String losePackage(String ip){ String situation=pingIp(ip); if(situation!=null && situation.equals("连接异常")){ return situation; }else{ if(situation!=null && Integer.parseInt(situation)>=3){ return situation+"% 丢包情况严重!!!"; }else{ return situation+"% 正常!!!"; } } } public static String pingIp(String ip){ String line = null; String command = "ping -n 100 "+ip; String command1= "ping -c 100 "+ip; String lose=""; int index=0; try { Process pro =null; BufferedReader buf=null; if(isWindowsOS()){ //windows获取丢包情况 pro=Runtime.getRuntime().exec(command); buf= new BufferedReader(new InputStreamReader(pro.getInputStream(),"GBK")); while ((line = buf.readLine()) != null){ if(line.contains("%")){ lose= line.subSequence(line.indexOf("(")+1, line.indexOf("%")).toString(); } } }else{ //linux下获取丢包情况 pro=Runtime.getRuntime().exec(command1); buf= new BufferedReader(new InputStreamReader(pro.getInputStream())); while ((line = buf.readLine()) != null){ if(line.contains("packet loss")){ Pattern p = Pattern.compile("received"); Matcher m = p.matcher(line); while(m.find()){ index=m.end(); } lose= line.subSequence(index+1, line.indexOf("%")).toString().trim(); } } } }catch (Exception ex){ return "连接异常"; } return lose; } public static void main(String[] args) { System.out.println(pingIp("40.1.32.50")); } }
相关文章推荐
- 用Java测试网络代码
- 一段测试网络是否连通的代码
- Android网络传输中必用的两个加密算法:MD5 和 RSA (附java完成测试代码)
- Android网络传输中必用的两个加密算法:MD5 和 RSA (附java完成测试代码)
- js测试网络连通情况
- Android网络传输中必用的两个加密算法:MD5 和 RSA (附java完成测试代码)
- JUnit测试:让代码覆盖率(Code Coverage)报表显示每个方法的覆盖情况
- CHARIOT,号称史上最牛X的网络吞吐量丢包测试工具,
- Android网络传输中必用的两个加密算法:MD5 和 RSA (附java完成测试代码)
- Android网络传输中必用的两个加密算法:MD5 和 RSA (附java完成测试代码)
- c#整人代码!!网络收集!!!(本代码没经过测试)
- 调用wpa_supplicant的代码及测试网络是否连通
- 一个网络联通情况测试(定时ping)的bat
- 测试CPU支持指令集AVX,AVX2,SSE情况的代码【VS2010调试通过】
- 在程序代码中对wifi网络发生变化情况进行处理
- 测试博客显示代码情况
- 3G网络实际使用测试情况
- android 下测试网络的丢包率和延迟 的代码
- Android网络传输中必用的两个加密算法:MD5 和 RSA (附java完成测试代码)
- Android网络传输中必用的两个加密算法:MD5 和 RSA (附java完成测试代码)