2013-05-27 99 views
2

如何計算服務器端的互聯網速度node.js,從客戶端我發送當前時間戳,同時使查詢字符串中的http requestnode.js中的互聯網速度計算

客戶端代碼

var image = document.createElement("img"); 
     image.width = 1; 
     image.height = 1; 
     image.src = url+"?"+new Date().getTime(); 

URL看起來像下面

http://localhost:8080/server?1369654461767 

Internet speed calculation可以使用開始時間,結束時間和請求的可下載的文件大小來完成。

但是,我的問題上面的要求是1x1 pixel所以圖像大小無法確定,我不想要一個單獨的服務器電話來計算淨速度。

使用來自客戶端的開始時間和請求和響應中存在的數據來計算網速的任何解決方案。

任何想法都會有所幫助。

回答

3

你不能計算服務器上的網速。一個關鍵問題是開始時間基於客戶端時鐘,服務器的時鐘永遠不會同步以達到計算速度的目的。

要計算速度,您需要完整的往返行程,您可以在同一臺計算機上準確捕捉開始和結束時間 - 無論是在客戶端。您還需要發送比1px圖像更重要的內容。有效載荷越小,計算精度越低。

通常,速度是通過請求已知尺寸的幾個大響應來計算的。