我正在开发客户端/服务器软件,并且正在寻找使客户端时钟与服务器时钟保持同步的最佳方法。
当然,我不能使用NTP,因为我不想碰系统时钟。我只是想计算一个时间间隔,以便我可以将它添加到从服务器接收到的每个日期时间中,以将其转换为“本地时间”
我知道的是:
我使用 GMT 时间处理 TimeZone 问题
服务器在连接时将其当前时间发送给客户端,客户端从其时间中减去服务器时间以计算时间间隔。
当网络延迟恒定时,这很有效(阅读“我的局域网”......)
不幸的是,我希望我的软件可以在 Internet 上运行,甚至可以在移动客户端上运行,我已经见证了长达1 分钟的延迟变化。
对于我正在开发的软件,这样的滞后是不可接受的。
计算客户端/服务器时间间隔的好策略是什么?
最后一件事:我可以以两种方式发送消息(客户端到服务器和服务器到客户端)
这可能无关紧要,但这背后的技术是一个.net WCF客户端,它使用带有一些轮询的httpbinding