NG-socket-io是否允许房间/连接?如果没有,我该如何使特定用户加入房间



我想使用ng-socket-io加入一个房间。我知道socket.io支持房间和名称空间,因此socket.io。

绝对是可能的。

我基本上希望连接的用户加入一个房间,因此我可以在后端分开告诉他们。这是我现在所做的示例,我无法真正在后端工作:

this.socket.emit("setRoom", room.id);

然后我在后端上抓住它:

io.on('connection', (socket) => {
    socket.on('setRoom', (roomId) => {
        socket.roomId = roomId;
    });
});

那么,当我想向发出一条新消息时,我基本上想做这样的事情: room:

io.clients.forEach(client => {
    if(client.roomId === roomId) {
        client.emit("newMessage", "some message to those only");
    }
});

ng-socket-io

甚至可能

我认为这与ng-socket-io无关,您所需要的只是后端。

而不是这个...

io.clients.forEach(client => {
    if(client.roomId === roomId) {
        client.emit("newMessage", "some message to those only");
    }
});

在最新版本的socket-io ...

上尝试一下
_.forEach(io.sockets.sockets, (socket) => {
    if(socket.roomId === roomId) {
        io.to(roomId).emit("newMessage", "some message to those only");
    }
});

最新更新