Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何跟踪消息响应时间和重传_C++_Linux_Visual C++ - Fatal编程技术网

C++ 如何跟踪消息响应时间和重传

C++ 如何跟踪消息响应时间和重传,c++,linux,visual-c++,C++,Linux,Visual C++,我正在开发客户机-服务器应用程序 客户端和服务器之间有大量的命令交换。有些命令的响应时间是30秒或20秒 我正在windows和linux平台上开发这个应用程序。 假设客户端发送一个名为“COMAND1”的命令,并期望在30秒内响应“RESPONSE1”,否则它将重新发送命令“COMAND1”。 我想知道跟踪和实现此功能的最佳方法 我对linux不是很精通。 对于windows,我想有定时器功能。一旦命令发送,定时器功能将被激活,如果响应消息没有在适当的时间到来,它将导致系统再次重新发送命令 1

我正在开发客户机-服务器应用程序

客户端和服务器之间有大量的命令交换。有些命令的响应时间是30秒或20秒

我正在windows和linux平台上开发这个应用程序。 假设客户端发送一个名为“COMAND1”的命令,并期望在30秒内响应“RESPONSE1”,否则它将重新发送命令“COMAND1”。 我想知道跟踪和实现此功能的最佳方法

我对linux不是很精通。 对于windows,我想有定时器功能。一旦命令发送,定时器功能将被激活,如果响应消息没有在适当的时间到来,它将导致系统再次重新发送命令

1.这样做对吗

2.如何在linux上实现它


谢谢,

您有几个选择:

  • 使用报警(即信号)-如果您的粒度为秒,这可能就足够了
  • 如果您可以使用第三方库(如boost),它将提供死线计时器等概念
  • RYO,带线程并选择(或一些类似的-例如pthread timed condition wait)
  • 顺便说一句,正确的方法是选择2,但这是我的观点,我相信其他人会选择1或3