【问题标题】:Sending message to specific group of clients in socketio在socketio中向特定的客户端组发送消息
【发布时间】:2011-07-29 22:54:15
【问题描述】:

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

我知道Sending data only to chosen users using Socket.io-node,但最近发布了 socketio 版本 .7,并且似乎使用 get/set 或命名空间的新 api 可能有更优雅的方式?

【问题讨论】:

    标签: javascript node.js websocket socket.io


    【解决方案1】:

    我觉得你应该看看房间概念:

    房间

    有时您希望将某些套接字放在同一个房间中,以便一起向所有套接字广播。

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

    服务器端:

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

    【讨论】:

    • 在本例中,每个人都是justin bieber fans 房间的成员。假设在连接时客户端发送了一个他们所属的组 ID,可以简单地创建一个房间,并使用变量发送到一个房间,就像这样`group${groupID}`?
    猜你喜欢
    • 1970-01-01
    • 2016-09-19
    • 1970-01-01
    • 2022-01-15
    • 1970-01-01
    • 2015-06-12
    • 2015-09-23
    • 1970-01-01
    • 2012-05-24
    相关资源
    最近更新 更多