每秒获取更新的服务器时间

时间:2013-05-14 10:58:31

标签: ios nstimer

我有一个要求,我需要知道应用程序中给定时间点的服务器时间。只要应用程序连接到服务器,服务器就会发回时间,我不知道如何更新此时间。

我想过使用每秒调用一次方法的计时器,并且第二次添加到服务器时间,这样每当我要求服务器时间时,它总是更新一次。但是如果我们在主runloop上安排这个问题,运行循环可能会或可能不会处理计时器请求,如果它正忙。

那么如何跟踪服务器时间?

由于

2 个答案:

答案 0 :(得分:0)

您的服务器在特定时区是否正确?只需使用请求获取服务器的时区,并在应用中显示该时区的时间。然后,您可以使用计时器每秒继续更新时间。

我建议只获得时区,因为如果你得到服务器的时间,服务器发回响应和你收到响应之间会有一个延迟 - 这就像在服务器上获取时间一样。

答案 1 :(得分:0)

  • 您无法从应用中更新iOS系统时间;没有API 为此。
  • iPhone的时间通常非常准确。在iPad上,如果可以使用某种形式的互联网连接,它会有所不同,但在iOS 5到+/- 5秒内有所改善。
  • 如果您想手动连接到服务器以同步时间,那么您 应该在后台任务中完成。
  • 为了弥补延迟,您应该发出多个请求并添加 往返时间到服务器发送时间的平均一半。

然而,问题仍然存在:无论如何,你为什么要这样做?