Nodjs如何将消息广播到名称空间与房间
我可以使用以下代码将消息发送到特定的命名空间
io.of(namespace).in(room).emit('functionname', data);
但它发送到所有连接的客户端,包括发件人,我想要的是我要发送的邮件不包括发件人,我已经尝试使用以下方法,但一切都失败,因为语法不正确
io.broadcast.of(namespace).in(room).emit('functionname', data);
io.of(namespace).broadcast.in(room).emit('functionname', data);
io.of(namespace).in(room).broadcast.emit('functionname', data);
io.of(namespace).in(room).broadcast('functionname', data);
我怎样才能发送消息给每个客户,不包括发件人。
我相信你想要的是这样的:
// send to all clients except sender socket.broadcast.emit('event', "this is a test"); // send to all clients in 'room' room except sender socket.broadcast.to('room').emit('event', 'whadup'); // sending to all clients in 'room' room, include sender io.sockets.in('room').emit('event', 'woodup');
如果你想指定命名空间,你可以添加“。(namespace)”。
这样做是为了向发件人以外的所有人发送信息:
socket.broadcast.emit('event', "this is a test");
我有这个问题。 io.of()困惑了我。
当你使用“连接”作为io.of()时,
你的套接字已经有了命名空间。 所以你只是添加特定的空间。
io.of(namespace).in(room).emit('functionname',data); – > sokcet.broadcast.emit('event',data);