在使用Juggernaut同步客户端定时器时处理延迟

我需要为幻想体育网站实施申请草案。 每个用户将有1m30select一个球员,如果时间已过,将被自动select。 我们计划的实施将使用剑圣将轮到的变化推向参与草案的每个用户。 但是我仍然不确定如何处理延迟。

这里的主要问题是,如果一个用户得到比其他用户更高的延迟,那么他稍后将收到转换,他的定时器将不会同步。 说有人自己select了一名球员,而他自己认为自己还剩下2秒时就会有转机,我们该如何处理呢? 尝试测量每个用户延迟并调整客户端计时器以最大限度地减less该问题是否更好? 如果是这样,我们怎么能实现呢?

这是一个棘手的问题,但有一些很好的解决scheme。 看看政府网站做了些什么,怎么做呢; 本质上,据我所知,他们使用Java对服务器执行多次重复的请求,试图弄清楚通信中涉及的延迟,然后他们产生一个延迟的度量,用来扭曲返回的时间数据。 您可以为您的应用程序使用相同的过程,更准确; 跟踪延迟是什么以及它随着时间的推移如何变化,可以让你对延迟数字的可靠性做出一些统计推断等等。它可能有点复杂,但它绝对可以让你平滑你的performance。 我的理解是,这是大多数MMO所做的,以pipe理滞后。