我试图实现一个简单的同步解决方案,在我的应用程序和服务器的不同实例之间传播一些设置。对这些设置的更改将很少发生,只发生在客户端上。我想要一些相当结实的东西,不要太过火。
我的策略是跟踪设备上未同步的更改,当同步时,将这些内容发送到服务器。服务器应该能够拒绝在该设置的上一次已知同步之后发生的更改。为了实现这一点,应用程序为每个设置存储一个“更新日期”日期,服务器将其与它为同一设置存储的类似字段进行比较。如果客户端的日期早于服务器知道的最新设置同步(来自不同的设备),则该设置的同步将被拒绝。
最后(希望如此)是说明客户机和服务器时钟之间的差异。
我最初的想法是发送(与更新的设置一起),客户机当前的本地日期时间。收到后,服务器将比较客户端的时间和自己的时间,并知道如何调整客户端设置上的“更新”时间戳。原则上,这听起来是合理的,但我如何处理以下两个问题呢?
发布于 2013-06-26 12:02:43
为了避免时区问题,您应该在UTC
方面做任何事情。这并不能解决用户时钟设置不正确的问题,因此您可能需要在更新数据以验证实际时间时向服务器签入。如果你没有网络连接,就会有一些很难处理的情况。有时候,你能做的最好的就是发现它们并告诉用户风险。
https://stackoverflow.com/questions/17329268
复制