发送公共消息,包括发送方 Socket.io
Posted
技术标签:
【中文标题】发送公共消息,包括发送方 Socket.io【英文标题】:Send public message including sender Socket.io 【发布时间】:2020-11-02 18:28:51 【问题描述】:我从socket.io
开始,我可以发送私人消息,但我如何向所有人发送消息,
在以下代码中(用于测试目的),第一个用户每次连接时都会收到一条私人消息,我如何将所有消息广播给包括发送者在内的所有客户端?
这是客户
var socket = io('http://localhost:3000');
socket.emit('user_join', username:'username');
socket.on('private',function(data)
alert(data);
);
socket.on('message',function(data)
console.log(data);
);
这是服务器
var connectedUsers = []
io.on('connection', (socket) =>
console.log('a user connected');
socket.on('user_join', function(msg)
connectedUsers[msg.username] = socket;
connectedUsers['aaa'].emit('private','private message');
socket.emit('message','public message');
);
console.log(connectedUsers.keys());
socket.on('disconnect', () =>
console.log('user disconnected');
);
);
【问题讨论】:
尝试在 io 上使用广播。请点击此链接tutorialspoint.com/socket.io/…。 【参考方案1】:文档很好https://socket.io/docs/emit-cheatsheet/
有很多变化,但我认为您正在寻找:
io.emit('an event sent to all connected clients');
【讨论】:
以上是关于发送公共消息,包括发送方 Socket.io的主要内容,如果未能解决你的问题,请参考以下文章
RabbitMQ事务和Confirm发送方消息确认——深入解读