如何同步两个程序的计时器

时间:2015-04-29 13:14:07

标签: c++ timer data-synchronization

我正在创建一个我有客户端和服务器的应用程序。客户端将向服务器发送一些坐标,用于移动机器人。我想要的是同步定时器,用于时间戳日志数据,以便我可以比较输入和输出。通信通过TCP / IP完成,客户端使用C ++完成,而服务器使用RAPID(ABB机器人编程语言)。我的问题是定时器没有正确同步。

现在,定时器在两者之​​间的连接建立时开始:

服务器端:     ListenForConnection;     startTimer所;

客户方:     connectToServer;     startTimer所;

这不起作用。有没有一种技术可以确保定时器同步?

注意:服务器只能通过LAN连接。

1 个答案:

答案 0 :(得分:1)

您需要客户端和服务器之间的协议来传递时间戳。

现在,大概你有一个发送坐标的协议。你需要以某种方式扩展它以允许一方向另一方发送定时器信息。

最简单的方法是,如果你有双向沟通能力。在这种情况下,客户端

  1. 连接到服务器
  2. 继续询问,直到服务器在那里
  3. 服务器说“是的我在这里,时间是1点”
  4. 客户端开始发送coords
  5. 如果服务器无法发送到客户端,则客户端需要不时发送时间戳,服务器将其识别为时间,而不是坐标。在第一次发生这种情况之前,两者不会同步。