向套接字中的特定客户端组发送消息

Sending message to specific group of clients in socketio

本文关键字:消息 客户端 套接字      更新时间:2023-09-26

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

我知道使用Socket只向选定的用户发送数据。Io-node,但是socketio version .7最近发布了,似乎有一种更优雅的方式来使用新的API,要么使用get/set,要么使用命名空间。

我想你应该查一下房间概念:

房间

有时你想把某些插座放在同一个房间里,这样就很容易同时向所有的插座广播。

可以认为这是套接字的内置通道。在每个套接字中连接和离开房间。

服务器端:

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');
});