给予简单的基于socket.io的网络聊天。 Node.js代码:
io.on('connection', function(socket) {
// Works well for all users
socket.emit('send:message', {
text: 'hello world'
});
// Logs text for all users
console.log('Socket: User connected');
// Message receive only user that send it
socket.on('send:message', function (data) {
socket.emit('send:message', {
text: data.message
});
});
});
用户连接后,客户端代码成功接收hello消息(并呈现它)。但是当特定用户向服务器发送消息时,他是唯一收到此消息的人。如何为每个用户广播每条消息?
答案 0 :(得分:1)
您需要使用:
socket.broadcast.emit('send:message', {
text: data.message
});
这样所有用户(发件人除外)都会收到此邮件。 如果您想要向所有人(包括发件人)广播,那么您必须使用:
io.sockets.emit('send:message', {
text: data.message
});
找到更多信息