我有一个小型多人游戏的开始,我用 python 编写作为学习练习。目前,服务器以 10 fps 运行,而客户端以他们喜欢的任何速率运行。这可以很好地节省带宽,但是除非客户端在输入发生时告诉服务器,否则所有输入都会被量化为 100 毫秒的间隔。如何在客户端和服务器之间同步时间以便进行这些更正?这里的一个主要障碍是我需要确定 ping 时间并对其进行补偿。
问问题
3369 次
2 回答
1
我偶然发现了一篇关于如何进行分布式网络物理(没有传统的客户端预测)的非常好的博客文章。我强烈推荐它,以及几年前 Fiedler 展示的 GDC 幻灯片。祝你好运!
于 2009-12-15T02:11:33.083 回答
0
这是一个非常有趣的问题。不幸的是,没有简单的答案。你只需要很好地理解这个问题并找到一个对你的应用程序来说足够好的解决方案。
我的第一直觉是,用于从 NTP 服务器设置机器时钟的网络时间协议 (NTP)可以解决这个问题。那里解决的问题之一是 涉及到数据包延迟变化的抖动缓冲区。这在RFC 3393 中有详细说明;IP 性能指标 (IPPM) 的 IP 数据包延迟变化指标。
于 2009-12-12T17:12:54.480 回答