(前言:有关于traceroute(unix/linux系统) tracert(windows系统)命令详解,请自行参考百度)
转载请注明出处,谢谢 http://blog.csdn.net/memories_code/article/details/59560219
最近项目中需要添加traceroute功能,并对结果进行分析,获取到跳转到目标路由时的跳数和响应时间.把开发的过程中遇到的一些问题在此文中记录下来.
其实在android中实现traceroute功能很简单,代码量没有多少如下所示:
String traceroute = "traceroute -m 10 -w 5 www.baidu.com 32"; // 模拟traceroute命令
InputStream inputStream = null;
InputStreamReader inputStreamReader = null;
BufferedReader reader = null;
try {
Process process = Runtime.getRuntime().exec(traceroute);
inputStream = process.getInputStream();
inputStreamReader = new InputStreamReader(inputStream);
reader = new BufferedReader(inputStreamReader);
String resalut = null;
while ((resalut = reader.readLine()) != null) {
System.out.println(resalut);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
try {
inputStream.close();
inputStreamReader.close();
reader.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
运行结果如下图: