5

目标:

给定 N 个设备,我想让它们开始一个精确的 10 秒的动作并最终收集这些数据。问题是,所有 N 个设备都应该在同一毫秒内启动此过程。

优势:

由于要收集数据,我可以进一步检测设备之间的毫秒差异。但是这种方法还需要另一种机制来检测服务器端的此类行为。

问题:

在 N 个设备之间同步“开始”时间的机制应该是什么?我们能否检测到设备和服务器时钟之间的差异(因为它会给出与同步时间相同的结果)?

4

1 回答 1

1

是的。

假设所有设备都在不到一秒的时间内收到消息:

服务器向 N 个设备发送消息。此消息包含服务器的时间戳以及进程应该开始的时间(将来)(例如 2000 毫秒)。

每个设备都会用自己的时间戳检查服务器的时间戳并计算差异。然后启动一个计时器,以便在未来的精确时刻启动该过程。

这样(理论上)设备会在完全相同的时间启动一个进程。我说的是理论上,因为如果 iOS 设备上没有其他应用程序已经在消耗进程和内存来干扰您的应用程序,这将起作用。

于 2013-03-10T20:02:32.293 回答