2012-04-27 74 views
1

我有一臺服務器和一臺運行在2臺Unix機器上的客戶機。它們可以是局域網中的兩臺機器,也可以是分開的,並且連接在VLAN中。 (UDP或TCP)如何測量局域網中兩臺機器之間的延遲

如何以編程方式測量它們之間的延遲?

這樣做的一種方法是在發送之前在數據包上添加時間戳,但時鐘不保證被同步。有什麼建議麼?

+0

一旦服務器看到數據包,將數據包反饋給客戶端,然後通過將往返時間除以2來測量客戶端的等待時間,那麼該如何處理? – hochl 2012-04-27 23:19:30

回答

2

如果您的通信是嚴格單向的,且時鐘不同步,則無法執行此操作。

您可以引入從客戶端發送到服務器的新數據包,詢問「現在幾點了?」服務器會響應其時間,客戶端會將響應時間除以2來獲得單向延遲。作爲一個附帶的好處,客戶可以找出服務器認爲它是什麼時間。