目标:
给定N个设备,我想让它们开始一个动作,精确到10秒,最后收集这些数据。问题是,所有 N 个设备都应该在同一毫秒内启动此过程。
优势:
由于将要收集数据,我可以进一步检测设备之间的毫秒差异。但是这种方法还需要另一种机制来检测服务器端的此类行为。
问题:
在 N 个设备之间同步“开始”时间的机制应该是什么?我们能否检测到设备和服务器时钟之间的差异(因为它会给出与同步时间相同的结果)?
是的。
假设所有设备上都在不到一秒的时间内收到消息:
服务器向N台设备发送消息。该消息包含服务器的时间戳以及该过程应该开始的时间(将来)(例如2000 毫秒)。
每个设备都会将服务器的时间戳与自己的时间戳进行检查并计算差异。然后启动一个计时器,以便在未来的精确时刻启动该过程。
这样(理论上)设备会在同一时间启动一个进程。我说的是理论上,因为如果 iOS 设备上没有其他应用程序正在消耗进程和内存来干扰您的应用程序,那么这将起作用。
| 归档时间: |
|
| 查看次数: |
2275 次 |
| 最近记录: |