我有一个小型多人游戏的开头,我正在用python作为学习练习。目前,服务器以10 fps运行,而客户端以他们喜欢的任何速率运行。这样可以很好地节省带宽,但除非客户端告诉服务器输入何时发生,否则所有输入都会被量化为100ms间隔。如何在客户端和服务器之间同步时间以便我可以进行这些更正?这里的一个主要障碍是我需要确定ping时间并补偿它们。
答案 0 :(得分:1)
我偶然遇到了关于如何进行分布式网络物理的excruciatingly fine blog post(没有传统的客户端预测)。我强烈推荐它,以及几年前Fiedler提出的GDC幻灯片。祝你好运!
答案 1 :(得分:0)
这是一个非常有趣的问题。不幸的是,没有简单的答案。您只需要充分理解该问题并找到适用于您的应用程序足够的解决方案。
我的第一直觉是,用于设置NTP服务器的机器时钟的Network Time Protocol (NTP)可以解决这个问题。其中一个问题涉及Jitter Buffers,涉及packet delay variation。这在RFC 3393; IP Packet Delay Variation Metric for IP Performance Metrics (IPPM)详细阐述。