我想知道,我如何計算從客戶端發出的數據包到達時間。 我試圖發送一個時間戳(1970年以來的毫秒)與數據包,然後在服務器上這樣計算它。如何計算包到達時間?
timestamp_on_server - timestamp_from_packet
但這個問題是,我也得負數,這是不正確的。
那麼我該如何正確地做到這一點? :-)
謝謝!
我想知道,我如何計算從客戶端發出的數據包到達時間。 我試圖發送一個時間戳(1970年以來的毫秒)與數據包,然後在服務器上這樣計算它。如何計算包到達時間?
timestamp_on_server - timestamp_from_packet
但這個問題是,我也得負數,這是不正確的。
那麼我該如何正確地做到這一點? :-)
謝謝!
當機器未正確同步到時間源時,這不起作用(請參閱NTP)。
但是總的來說,依靠不同節點上採樣的時間並不是最好的想法。你可以做的是測量round-trip times(數據包在那裏發送,並反映回發送者的時間戳完整),所以你只能使用同一時間源。
注意:如果通過某些特權進程進行強制調整,同一臺計算機上的時鐘仍然可以跳回,因此忽略(也可能記錄)負RTT值可能是一個好主意。
往返,就像回聲?服務器發送一個數據包給客戶端,客戶端直接發送它。然後服務器計算兩者之間的時間? – PeterBechP
是的,類似的東西。也可以是啓動交換的客戶端。 –
到達時間是當前時鐘時間。您的計算會計算*傳輸*時間。你想要什麼? – EJP
哦對不起。我的英語不太好。但是,是的,它的傳輸時間:-) – PeterBechP