Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/381.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 跨多个客户端同步Socket.IO调用_Javascript_Node.js_Socket.io_Network Programming_Multiplayer - Fatal编程技术网

Javascript 跨多个客户端同步Socket.IO调用

Javascript 跨多个客户端同步Socket.IO调用,javascript,node.js,socket.io,network-programming,multiplayer,Javascript,Node.js,Socket.io,Network Programming,Multiplayer,一般来说,我对Javascript、Node、socket.io和多人游戏开发都是新手,所以我为我错过的任何明显的东西提前道歉 我有一个node.js服务器,当浏览器访问特定网站时,它会与该用户建立socket.io连接。服务器端代码接收来自玩家的任何消息,并将其转发给任何其他玩家需要该消息的地方 我正在尝试跨不同浏览器同步函数调用,以便尽可能接近同一时间调用它们 预期的工作流程: 播放器1发送一条消息,命令播放器2和3尽快同时运行一个功能(在本例中为倒计时) 服务器接收消息并将其发送给玩家2和

一般来说,我对Javascript、Node、socket.io和多人游戏开发都是新手,所以我为我错过的任何明显的东西提前道歉

我有一个node.js服务器,当浏览器访问特定网站时,它会与该用户建立socket.io连接。服务器端代码接收来自玩家的任何消息,并将其转发给任何其他玩家需要该消息的地方

我正在尝试跨不同浏览器同步函数调用,以便尽可能接近同一时间调用它们

预期的工作流程:

  • 播放器1发送一条消息,命令播放器2和3尽快同时运行一个功能(在本例中为倒计时)
  • 服务器接收消息并将其发送给玩家2和玩家3
  • 2号和3号玩家同时收到信息并开始倒计时(或尽可能接近同一时间)

  • 有没有一种标准方法可以跨不同的套接字连接同步这样的调用

    这不是它的工作原理。在TCP连接上进行多人游戏需要大量的客户端预测、插值等。有很多事情要考虑,滞后,客户端计算机性能。这与你正在制作的游戏风格不同。这个问题太广泛,无法回答。请随命令发送时间戳,即命令将要执行的时间。但是,如果允许ms的#等于最坏的延迟,您可以及时交付和排队,以便所有人在同一时刻开火。否则,您将需要补偿游戏代码中的时间差异。@magreenberg我知道标准多人网络需要比我要求的更多的信息,我已经在插值和处理延迟方面做了一些工作,但这超出了我的问题范围。目前唯一需要的通信或同步是在所有客户端上同时调用单个函数(即需要调用StartGameCountdown函数)。我可以想出几种不同的方法来实现这一点。我只是想知道,在我的调查中,是否有一些行业标准是我没有发现的。