Socket.io 房间发出被发件人接收,但不应该吗?



客户端向服务器发出消息后,我试图向房间中的每个其他客户端发出该消息,但是发送消息的原始客户端也接收到发出…这似乎完全违背了我读过的所有文档。我的代码如下:

socket.on('slots', (slots) => {
console.log(socket.id);
const [thisRoom] = socket.rooms;
console.log(thisRoom);
socket.to(thisRoom).emit('slots', slots);
});

我正在使用套接字。io 4.5.3。

许多谢谢。

Check this answer向除发送方以外的所有客户端发送响应

// sending to all clients except sender
socket.broadcast.emit('message', "this is a test");

请注意广播是服务器专用的特性。因此,您需要在服务器中配置它。

io.on('connection', (socket) => {
socket.on('chat message', msg => {
socket.broadcast.emit('chat message', msg);
});
});

相关内容

最新更新