【问题标题】:Is client-side time-keeping likely to be consistent vs server-side time keeping?客户端时间保持与服务器端时间保持一致吗?
【发布时间】:2018-03-03 09:42:14
【问题描述】:

我正在构建一个游戏,其中两个用户争分夺秒地竞争。每个玩家有 60 秒的时间尽可能多地正确回答问题。

我有两种可能的计时方法:

  1. 每秒从服务器发送剩余时间到客户端 - 使用Socket.io,浪费服务器资源
  2. 在客户端处理倒计时,但在 60 秒后从服务器发送信号终止游戏 - 可能每个玩家的倒计时不会同步

我的问题是:客户端倒计时在两个客户端之间是否合理一致?

如果在客户端实现,它将在 JavaScript 中使用 setInterval()。

【问题讨论】:

    标签: javascript time timer server client


    【解决方案1】:

    您的真实状态应保存在服务器上,而客户端应根据服务器响应状态尝试同步(更新其状态)。基本上,如果用户滞后,他仍然会浪费时间,而不是阻塞时间。这也可以通过更改值来防止客户端作弊。

    因此,在每次滴答时,您的客户端都应该知道服务器的实时时间。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-21
      • 2015-02-16
      • 1970-01-01
      • 1970-01-01
      • 2013-04-19
      • 2012-10-28
      相关资源
      最近更新 更多