如何使用socket IO检查有多少参与者连接到我的聊天室

How to check how many participants are connected to my chat room using socket IO

本文关键字:连接 参与者 我的 聊天室 多少 何使用 socket IO 检查      更新时间:2023-09-26

以下是我用来连接聊天室的代码摘录。。。

io.on('connection', function(socket) {
    var col = db.collection('messages');
    sendStatus = function(s){
        socket.emit('status', s);
    };
    //emit all messages
    col.find().limit(100).sort({_id:1}).toArray(function(err, res){
        if(err) throw err;
        socket.emit('output', res);
    });
    socket.on('input', function(data) {
    ...
    ... etc

我可以实现什么代码来检查有多少用户或参与者连接到我的聊天室。

我听说过一个方法clients(),但我不确定这是我需要使用的还是如何使用

在最新版本的socket.io中,您可以通过以下命令查看给定聊天室中有多少个套接字:

io.sockets.adapter.rooms["testRoom"].length

其中testRoom是您聊天室的名称(无论您将.join()与.一起使用)


io.sockets.adapter.rooms["testRoom"]

是一个对象,其中除.length之外的每个属性名称都是聊天室中套接字的socket.id。


仅供参考,你在问题中显示的代码似乎与socket.io聊天室无关,这让我有点困惑。