gpt4 book ai didi

node.js - Socket.io 仅向房间中的部分用户发送消息

转载 作者:太空宇宙 更新时间:2023-11-04 01:38:35 27 4
gpt4 key购买 nike

我想使用 socket.io 在房间中发送消息,但在某些情况下我想跳过房间中的一些用户,所以我该怎么做。

目前我正在使用下面的代码在组中发送消息

io.on('connection', function (socket) {
sockets[socket.handshake.query.id]=socket;
console.log("user_connect",socket.handshake.query );
if(socket.handshake.query.user_type=="DRIVER"){
socket.join('orderPool');
}
socket.join('USER_'+socket.handshake.query.id);


socket.on('disconnect', function () {
delete sockets[socket.handshake.query.id];

console.log('user disconnected', socket.handshake.query.id);
});

});

io.sockets.in("ROOMNAME").emit("POOL_EVENT_RECIEVED", data);

最佳答案

一种解决方案是同时保留另一个房间 "<room name>-selected users"仅向选定的用户发送消息。不要将您想要跳过的用户添加到此房间。

因此,当您向该聊天室发送消息时,未添加到该聊天室的用户将不会收到这些消息。

关于node.js - Socket.io 仅向房间中的部分用户发送消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53717818/

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