2010-09-07 20 views
0

我們有一個Java軟件來接收和發送客戶數據並將數據發送到我們的服務器。該軟件在Web瀏覽器中運行。有時我們的代理商會抱怨這種滯後,但這與他們的網絡連接有關。 這是我們的想法,建立在某種網絡監視器來顯示當前的網絡速度。我的第一個想法是實現一個Java版本的Ping程序來測量ping之前和ping之後的時間。有了這些信息,我可以計算出連接速度。問題是Java不支持SOCK_RAW類型套接字,所以我不能發送ICMP數據包。由於安全原因,我無法創建某種UDP客戶端 - 服務器連接來使用UDP套接字。由於安全原因,使用我們的客戶和合同數據的服務器無法修改,因此您根本無法使用任何套接字。在我看來,用Java解決這個問題似乎並不方便。 我的同事有另一種方法。他想下載一張圖片來衡量下載時間,但這不是永久測量連接速度的好方法。測量連接速度並將其顯示在網絡應用程序中

那麼是否有任何可用的可能性來測量與Java(JSF,JSP)或Javascript(jQuery)的連接速度並將其嵌入到網站?

+0

你有沒有考慮使用Flash或Flex? – Zoidberg 2010-09-07 12:10:23

+0

@Zoidberg,我們不能使用某種專有技術。 – Bevor 2010-09-07 12:45:05

+0

所以你的意思是沒有人願意支付任何技術。只是一個提示,FLEX是免費的,是開銷成本的開發環境。 – Zoidberg 2010-09-07 13:08:19

回答

1

要做好網絡連接的測量,您應該嘗試發送儘可能多的信息,以查看所花費的時間。一張圖片會很棒,但另一種方法可能是測量服務器的RTT(往返時間),以檢測可能的延遲相關問題。

如果你不想自己動手編程,並沒有必要與軟件捆綁它,你可能會使用http://www.speedtest.net例如:-)

+0

問題是在客戶端網站上必須有特殊的JavaScript之類的東西。應用程序在服務器端運行。所以越來越多的人認爲這不是一個實際的解決方案。 – Bevor 2010-09-07 13:10:53

+0

我得出結論,下載一張圖片來衡量kbit/s是唯一的解決方案。在這種情況下,當我點擊(下載)按鈕來檢查速度時,網頁只能顯示速度。它不能連續顯示。 – Bevor 2010-09-08 05:36:23

+0

我發現[這篇文章](https://www.smashingmagazine.com/2011/11/analyzing-network-characteristics-using-javascript-and-the-dom-part-1/)關於使用javascript測量往返時間。它有示例代碼和解釋。一探究竟。 – mert 2016-06-29 22:51:16

相關問題