[問題] 取得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