2011-03-15 83 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.