我有两台可以通过串行连接相互通信的计算机。连接通过无线网络完成。这两个系统之间的通信存在可变的,变化的延迟。在这两个系统上,我有一个计数器运行时间,每ms增加1。它们都在应用程序启动后立即启动。说每台电脑在不同的时间启动。我如何与串行连接同步计数器,以便systemA.counter等于systemB.counter,并使两个计数器同时递增(或尽可能接近)。通过网络同步计数器
理想情况下,一旦同步计数器只会缓慢地分开,所以每3或4千个重复一次就可以重新同步。
我正在寻找关于主题,示例algorythms,示例代码(c/C++),任何指向正确方向的好资源。
更新
这是一个封闭的系统,没有互联网。对于所有的意图和目的,除了无线链路之外并没有真正的协议。目前该链接是蓝牙,但我正在考虑将其移至ZigBee网状网。目前有2个节点,但是如果我有30个节点都运行同一个应用程序,我希望它们全部同步。没有客户端/服务器名称,只有几台运行与计数器相同的程序的设备。我没有时间去访问任何东西,只是这个计数器每增加一毫秒就会增加一次,我可以使用任何算法。一旦我能得到这个工作,我想建立一个定位和映射系统,但要找出节点之间的距离,我需要激活设备上同步的时间。