gpt4 book ai didi

node.js - ng-socket-io允许房间/加入房间吗?如果没有,如何让特定用户加入 session 室?

转载 作者:行者123 更新时间:2023-12-03 12:08:49 26 4
gpt4 key购买 nike

我想使用 ng-socket-io 加入一个房间。我知道Socket.IO supports rooms and namespaces,所以Socket.IO绝对可以实现。

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

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

然后,我在后端捕获了它:
io.on('connection', (socket) => {
socket.on('setRoom', (roomId) => {
socket.roomId = roomId;
});
});

然后,当我想向该房间发送新消息时,基本上我想做这样的事情:
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");
}
});

关于node.js - ng-socket-io允许房间/加入房间吗?如果没有,如何让特定用户加入 session 室?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47890534/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com