我有一个由服务器组成的应用程序,它会偶尔向Iphone发送消息。两个设备之间的延迟对问题域很重要 - 如果消息到达的时间不到一秒,一切都很好;如果它需要超过5秒,几乎肯定是一个问题。服务器端消息的时间戳记为服务器时间。
使用蜂窝数据连接,我们偶尔会看到延迟,但我们无法量化它们,因为无法保证Iphone的时钟与服务器同步;一个我们的测试手机,我们看到不同的运营商不同的时间。
是否有一种简单的方法来同步Iphone和服务器之间的时间?我看过(S)NTP,这似乎是正确的方法。
任何替代方案?我们只需要在几秒钟内准确,而不是毫秒。
答案 0 :(得分:1)
嗯,一个有点简单的解决方案是,您可以让电话告诉服务器他们在不同时间有什么时间并保留数据库的增量表。然后将报告的时间戳调整为服务器的时间r +/- delta。据我所知,iPhone已同步到运营商的时间服务器。另一种可能性是让电话和服务器每天查询共同的时间源。时间不太可能在一天内变化很大。
答案 1 :(得分:1)
我不确定具体情况是什么,所以这可能是一个非解决方案,但是:
假设您想要以设定的时间间隔(由服务器决定)计算出电话和服务器之间的延迟(并且仅限于此)。假设错误检查是在服务器端完成的,而不是同步时钟,你可能采用“ping”方法。
如果我误解了你的问题,请道歉。