将客户端时间同步到服务器时间,即使客户端应用程序独立于本地计算机时间

时间:2010-07-04 18:38:30

标签: time synchronization actionscript-3 multiplayer

好的,情况如下。

我有一个服务器为游戏提供服务,来自服务器的特定命令发送一个时间戳,用于下一轮游戏应该开始的时间。为了在所有连接的客户端上完全同步,我还有一个webbservice,它返回服务器当前时间的时间戳。

我所知道的:发送请求和接听回复之间的时间。 我不知道的是:延迟在哪里,在客户端处理或服务器处理或带宽问题上。

在此获得合理结果的最佳做法是什么?我想GPS必须以某种方式解决这个问题,但我一直无法找到一个好的模式。

我现在要做的是将请求的延迟增加一半到服务器时间戳,但这还不够好。这可能需要这样做,发送和接收之间的时间可能高达11秒。

建议?

2 个答案:

答案 0 :(得分:1)

有很多通用的解决方案可以在机器之间同步时间,包括NTPD和RTP完成正确的PLL实现。如果您可以更改机器的当地时间,这对您很有用。如果没有,也许你应该做更多或更少的事情,但丢弃延迟不合理的同步点。

答案 1 :(得分:0)

最佳做法通常不是同步绝对时间,而是使用相对时间。