如何使用 node.js 和 socket.io 制作带有游戏室的队列系统?

How to make a queue system with game rooms using node.js and socket.io?

我正在尝试实现这个想法,但我不知道什么是最好的实现方式。

应该有一个排队游戏的按钮,应该有游戏室,每个房间有3个玩家。

由于你的问题比较模糊,我给你一个大概的流程。

  1. Express/HTTP 服务器以侦听 websocket 启动。
  2. 用户加载页面。页面已加载并尝试与服务器建立 websocket 连接。
  3. Websocket 已建立。在游戏中显示 "Join Queue" 按钮。
  4. 服务器实时向客户端更新可用房间。游戏可以选择显示每个房间或将它们隐藏在背景中,这样当玩家点击 "Join Queue" 时,他将连接到第一个可用的房间。
  5. 用户点击 "Join Queue" 并加入房间。

建立连接后加入房间的示例代码。

// io is exposed as a global variable in the client once you import the library.
// Join an existing room on connection established
io.on('connection', function(socket){
    socket.join('some room');
});
// Establish a websocket connection
var socket = io();