0

好的,所以情况如下。

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

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

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

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

建议?

4

2 回答 2

1

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

于 2010-07-04T18:57:42.667 回答
0

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

于 2010-07-07T13:08:40.360 回答