在socketio中向特定客户端组发送消息

时间:2011-07-29 22:54:15

标签: javascript node.js websocket socket.io

通过套接字io向一组用户发送消息的最佳方式是什么,例如只有特定聊天室而不是所有用户?

我知道Sending data only to chosen users using Socket.io-node但socketio版本.7最近发布了,看起来使用get / set或namespacing的新api可能有更优雅的方式?

1 个答案:

答案 0 :(得分:7)

我认为你应该查看房间概念:

  

房间

     

有时你想把某些插座放在同一个房间里,这样就可以很容易地将它们全部播放到一起。

     

将此视为套接字的内置通道。套接字在每个插座中加入和离开房间。

     

服务器端:

var io = require('socket.io').listen(80);

io.sockets.on('connection', function (socket) {
  socket.join('justin bieber fans');
  socket.broadcast.to('justin bieber fans').emit('new fan');
  io.sockets.in('rammstein fans').emit('new non-fan');
});