网站搜索

typescript - 在向一个socket发送消息之前如何检查房间是否存在?


broadcastToSpecificUser(message: any): void {
    if(message.username){
        this.io.sockets.in(message.username).emit("eventArrived", message);
    }else{
        this.io.sockets.emit("eventArrived", message);
   }
}

我正在尝试仅向特定房间的套接字发送消息。“message”是一个事件对象,其中有一个名为username的属性,我正在用它来检查房间是否存在。我应该如何修改上面的代码?

答案#1

由于 rooms 是一个 Map,io.sockets.adapter.rooms["room name"] 返回未定义。相反,我使用

io.sockets.adapter.rooms.get("room name")

答案#2

试试这个:

if(io.sockets.adapter.rooms["room name"])
{
     //if room exist
}