【问题标题】:Send public message including sender Socket.io发送公共消息,包括发送方 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');
  });
});

【问题讨论】:

标签: javascript node.js


【解决方案1】:

文档很好https://socket.io/docs/emit-cheatsheet/

有很多变化,但我认为您正在寻找:

  io.emit('an event sent to all connected clients');

【讨论】:

    猜你喜欢
    • 2021-12-09
    • 1970-01-01
    • 1970-01-01
    • 2018-01-29
    • 1970-01-01
    • 2023-03-26
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多