我正在尝试实现一个简单的同步解决方案,以便在我的应用和服务器的各种实例之间传播一些设置。对这些设置的更改很少发生,只会在客户端上发生。我想要一些合理的东西而不会过分。
我的策略是跟踪设备上未同步的更改,并在同步时将这些更改发布到服务器。服务器应该能够拒绝在该设置的先前已知同步之后发生的更改。为实现此目的,应用程序为每个设置存储“更新”日期,服务器将其与其为其相同设置存储的类似字段进行比较。如果客户端的日期早于服务器知道的最新设置同步(来自其他设备),则拒绝该设置的同步。
最后(希望)的一部分是考虑客户端和服务器时钟之间的差异。
我最初的想法是发送(与更新的设置一起)客户端当前的本地日期时间。收到后,服务器会将客户端的时间与自己的时间进行比较,并知道如何调整客户端设置的“更新”时间戳。这听起来原则上是合理的,但我怎样才能解决以下两个问题呢?
答案 0 :(得分:0)
您应该根据UTC
执行所有操作,以避免出现时区问题。这不能解决用户时钟设置不正确的问题,因此您可能希望在更新数据时检入服务器以验证实际时间。如果没有网络连接,将会有一些难以处理的条件。有时,您可以做的最好的事情就是检测它们并告诉用户风险。