2011-03-15 80 views
0

我正在使用Client Server應用程序。如何跟蹤消息響應時間和重傳

客戶端服務器之間有很多命令交換。有一些命令的響應時間爲30秒,20秒。

我正在開發這個應用程序既Windows和Linux平臺。 假設客戶端發送一個名爲「COMAND1」的命令並期望在30秒內重新發送「RESPONSE1」,否則它將重新發送命令「COMAND1」。 我想知道跟蹤和實現此功能的最佳方式。

我不熟悉linux。用於Windows的 我正在考慮使用定時器功能。一旦命令發送,它將被激活,並且如果響應消息沒有在適當的時間到達,它將導致系統再次重新收回命令。

1.這是一個正確的方法來做到這一點。

2.how我可以在Linux上實現它。

感謝,

回答

0

您有幾種選擇:

  1. 使用報警(即信號) - 如果你的粒度是秒,這可能是足夠
  2. 如果你可以使用一個第三方庫 - 例如boost,它將提供諸如死線定時器之類的概念。
  3. RYO,有螺紋和選擇(或一些這樣的 - 例如並行線程定時條件等待)

順便說一句。恕我直言,正確的方法是選項2,但這是我的意見,我敢肯定別人會選擇1或3.