除发件人外,Socket.io会向房间中的每个人发出

时间:2015-01-21 20:41:44

标签: javascript node.js socket.io

所以我有一个聊天室,我想向除了我以外的所有人发送消息(b / c我将通过JS在表单提交时通过我的消息更新聊天窗口),我试过这样的:

io.sockets.in(socket.room)
          .broadcast
          .emit('new message', {
            'username' : socket.nickname,
            'message' : data,
            'color' : socket.color
          });

它不起作用。你们知道我怎么能这样做?

1 个答案:

答案 0 :(得分:-2)

如果你只是删除广播,你应该发送给每个人,甚至发送者。广播命名空间使得消息被发送给除发件人之外的所有人。只需查看docs即可。例如,

io.sockets.in(socket.room)
      .emit('new message', {
        'username' : socket.nickname,
        'message' : data,
        'color' : socket.color
      });