套接字存储为变量时,Socket.io向所有人广播房间广播

问题描述

这段代码在我的后端的node.js服务上运行。

我有一个可以容纳套接字的类,以后可以根据需要发出:

class Lobby {
    /**
     * 
     * @param {*} room - sockets io object which emits to the specific game room
     */
    constructor(room) {
        this.room = room;
        this.room.emit(`message`,'created!'); // emits only to the game room.
    }

我这样构造大厅:

    //Create new lobby
    const lobby = new Lobby(io.to(name));

当我在构造函数调用外部发射时,一切都很好。它只能送给一个人(在房间里)。
如果我在类中的另一个函数调用外部发射,则消息将发送给连接到我的应用程序的每个人!:

class Lobby {
    ...
    join(user) {
        this.room.emit(`message`,'whats up!'); // gets sent to everyone outside the room!
    }
    ...
}

不确定为什么发射在一个实例中起作用但在另一个函数中失败。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)