如何同步两个Android手机时钟(最高毫秒)?或获得完全不同?

use*_*210 7 android clock-synchronization

人!我以为将其包含在原始问题中,但没有。
投票时,您可以评论为什么要投票?
请使用它来使学习者完成他们的事情,并将他们的想法/问题更好地传达给他人。并非所有人都知道您的想法。谢谢

简而言之: 我需要将两个Android手机(彼此靠近不靠近;两种情况下放置)的时钟彼此同步,并且精度最高为几毫秒(最大10、20毫秒)。

  • 要么同步时钟
  • 或者得到一个与另一个的偏移量

我正在做什么: 我有一个正在开发的应用程序,用于测量不同的GSM网络统计信息。我正在使用电话管理器来获取三种状态(“摘机”,“空闲”,“振铃”)。电话A呼叫电话B。两个电话都在运行一个应用程序,该应用程序保存有关上述状态的时间戳。进行多次通话后,我将时间戳导出到数据文件中,并分析它们以获得不同的网络统计信息。

我的问题是什么: 我必须交叉匹配时间戳才能获取统计信息。现在的问题是,如果电话的时钟不同步,那么我将无法获得准确的统计信息(例如,在电话A发起呼叫后,使电话B处于振铃状态需要花费多少时间?)。

我尝试过的事情:到目前为止,我已经尝试将时钟与NTP,GPS或原子钟同步。我已经使用ClockSync(Android应用程序)从原子钟获取两个电话时钟的偏移量。问题在于此偏移量取决于从手机到服务器的网络数据包的RTT。当我两次检查偏移量时(连续两次点击刷新),我的差异最大为100毫秒。两部手机的偏移都可能导致长达200毫秒的误差,这对我来说是无法接受的。
所有其他同步应用程序/方法都存在相同的问题。

可能的前进方向:(我认为)。我可能会开发一个应用程序

  • 在电话A上加上时间戳
  • 通过蓝牙或WiFi(连接到同一路由器)将其传输到电话B,
  • B然后将该时间戳与其自己的时钟进行比较,计算出偏移量,
  • 然后我运行我的原始应用,进行实验,
  • 使用偏移量在处理数据之前更正时间戳

您的意见/建议:怎么做?并对最后一部分中描述的方法进行评论。