Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 客户端时间保持与服务器端时间保持一致吗?_Javascript_Time_Timer_Server_Client - Fatal编程技术网

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

Javascript 客户端时间保持与服务器端时间保持一致吗?,javascript,time,timer,server,client,Javascript,Time,Timer,Server,Client,我正在建立一个游戏,其中两个用户竞争的时钟。每个玩家有60秒的时间回答尽可能多的问题 我有两种可能的计时方法: 每秒将剩余时间从服务器发送到客户端-使用Socket.io,浪费服务器资源 在客户端处理倒计时,但在60秒后从服务器发送信号终止游戏-可能每个玩家的倒计时不同步 我的问题是:客户端倒计时在两个客户端之间是否合理一致 如果在客户端实现,它将使用JavaScript中的setInterval()。您的真实状态应保留在服务器上,而客户端应根据服务器响应状态尝试同步(更新其状态)。基本上,若用

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

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

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


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

    您的真实状态应保留在服务器上,而客户端应根据服务器响应状态尝试同步(更新其状态)。基本上,若用户得到延迟,他仍然会损失时间,而不是阻塞时间。这还可以通过更改值来防止客户端欺骗

    因此,在每次滴答声中,您的客户机都应该知道来自服务器的实时信息