基于回合的多人游戏实现定时器的最佳方法是什么?

我正在使用Node.js实现多人回合制游戏,用于服务器端脚本。 游戏就像垄断 ,多房间和单人房间有多个玩家。 我想实现所有房间的计时器,我已经经历了很多文章,我有两个select,如下所示:

1}我会立刻用当前的时间发送给每个玩家,他们会处理计时器,并在轮到时间或之后发送到服务器。

2}我可能在服务器pipe理定时器,并在每秒发射,但它会创build负载到服务器,也混淆为Node.js 单线程,那么我将如何pipe理多个房间的setInterval() 。 它会增加队列,并会造成延迟。

所以请协助我最好的select。

混合的方法可能适合这个问题。 您可以通过从服务器接收计时器的当前值开始。 随后,客户端可以独立运行定时器,而无需向服务器请求当前时间。 如果准确性对于这个项目很重要,那么你可以每隔15秒左右请求一次服务器来调整时间漂移,这可能会导致服务器和客户之间的差异。

另外,请注意,尽pipeNode.js是单线程的,但它本质上是asynchronous的。