客户端时间保持可能与服务器端时间保持一致吗?

时间:2017-09-21 22:27:05

标签: javascript time timer server client

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

我有两种潜在的计时方法:

  1. 每秒从服务器向客户端发送剩余时间 - 使用Socket.io,浪费服务器资源
  2. 处理客户端的倒计时,但是在60秒后从服务器发送信号以终止游戏 - 可能导致每个玩家的倒计时不同步
  3. 我的问题是:客户端倒计时在两个客户之间是否合理一致?

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

1 个答案:

答案 0 :(得分:1)

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

因此,在每个刻度线上,您的客户应该知道服务器的实时时间。