我正在构建一个游戏,其中两个用户与时钟竞争 . 每个玩家有60秒的时间尽可能正确地回答尽可能多的问题 .
我有两种可能的计时方法:
-
Send the time remaining from the server to the client every second - 使用Socket.io,浪费了服务器资源
-
Handle the countdown on the client side, but send a signal from the server to terminate the game after 60 seconds - 可能不会同步每个玩家的倒计时
我的问题是:客户端倒计时在两个客户之间是否合理一致?
如果在客户端实现,它将在JavaScript中使用 setInterval()
.
1 回答
您的真实状态应保留在服务器上,而客户端应尝试根据服务器响应状态进行同步(更新其状态) . 基本上,如果用户滞后,他仍然会浪费时间,而不是阻止时间 . 这也可以通过更改值来防止客户端作弊 .
因此,在每个刻度线上,您的客户应该知道服务器的实时时间 .