[问题] 取得ping rtt的方法

楼主: t19903 (未显示)   2014-04-29 16:56:08
各位大大好
我想在java上使用ping来取得对于某个ip的rtt
目前看到的方法是用Runtim直接下ping的指令
但是因为会在不同的主机上执行这个程式
例如:分别在linux和win 7 的主机上跑同样的java code
这两台主机输出的格式不同
所以会需要针对不同的主机的output做处理来得到rtt的值
我想请问有没有更好的方法
也就是不需要针对考虑不同格式的问题直接取得ping rtt的资料
作者: PsMonkey (痞子军团团长)   2014-04-29 17:21:00
作者: danny8376 (钓到一只猴子@_@)   2014-04-29 18:13:00
除了针对不同格式parse外 除非自己写个ping 不然无解
作者: Killercat (杀人猫™)   2014-04-30 10:27:00
java语言层级不支援raw socket, 所以还是得各平台JNIjpingy看了一下是直接执行ping解析结果....不过java不支援raw socket下无法实作ping必须的ICMP要玩Raw Socket JNI Wrapper的话有人写好了 RockSaw
楼主: t19903 (未显示)   2014-04-30 16:40:00
谢谢几位大大讲解,看来还是自己对不同平台解析结果比较快
作者: bitlife (BIT一生)   2014-04-30 18:16:00
其实如果你只是要知道time=xxms的xx,甚至不需要parse,只需要search "=ms",然后再往前收集数字直到空白更正,search "ms" (上行多打了个等号)

Links booklink

Contact Us: admin [ a t ] ucptt.com