![](/img/trans.png)
[英]Socket.IO - how to emit event to everybody in the room, including sender?
[英]Send public message including sender Socket.io
我從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');
});
});
文檔很好https://socket.io/docs/emit-cheatsheet/
有很多變化,但我認為您正在尋找:
io.emit('an event sent to all connected clients');
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.