我有一个由服务器组成的应用程序,它偶尔会向Iphones发送消息。两个设备之间的延迟对于问题域很重要-如果消息到达的时间不到一秒,则一切正常;如果超过5秒,则几乎可以肯定有问题。服务器端消息带有服务器时间的时间戳。
使用蜂窝数据连接,我们偶尔会看到延迟,但我们不能量化它们,因为不能保证Iphone的时钟与服务器同步;在我们的测试手机中,我们看到不同运营商的不同时间。
有没有一种简单的方法在Iphone和服务器之间同步时间?我已经看过(S)NTP,这似乎是正确的方法。
有其他选择吗?我们只需要在几秒内准确,而不是毫秒。
发布于 2011-03-17 05:04:26
我不确定确切的情况是什么,所以这可能是一个非解决方案,但是:
假设你想要计算出手机和服务器之间的延迟(并且只有这个)在设定的时间间隔(由服务器决定)。假设错误检查是在服务器端完成的,而不是同步时钟,您可以使用"ping“方法。
如果我误解了你的问题,很抱歉。
发布于 2011-03-16 20:35:40
嗯,一个有点简单的解决方案是,你可以让手机告诉服务器他们在不同时间的时间,并保留一个增量数据库表。然后将您报告的时间戳调整为发球的时间r +/-增量。据我所知,iPhones被同步到运营商的时间服务器上。另一种可能是让电话和服务器每天都查询公共时间源。时间不太可能在一天内变化很大。
https://stackoverflow.com/questions/5325238
复制相似问题