在socket.io中的聊天室中有多少人 [英] getting how many people are in a chat room in socket.io

查看:700
本文介绍了在socket.io中的聊天室中有多少人的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我现在有这个代码设置缺口和房间:

I have this code right now that sets the nick and room:

io.sockets.on('connection', function(client){
    var Room = "";
    client.on("setNickAndRoom", function(nick, fn){
        client.join(nick.room);
        Room = nick.room;
        client.broadcast.to(Room).emit('count', "Connected:" + " " + count);
        fn({msg :"Connected:" + " " + count});
    });

我想知道我是怎么做的可以得到多少人连接到一个特定的聊天室......比如Room.length

I wanted to know how I could get how many people are connected to a specific chatroom...like Room.length

客户端:

function Chat(){
    this.socket = null;
    this.Nickname = "";
    this.Room = "";
    var synched = $('#syncUp');
    this.Connect = function(nick, room){ 
        socket =  io.connect('http://vybeing.com:8080');    
        Nickname = nick;
        Room = room;
        //conectarse
        socket.on('connect',function (data) {
            socket.emit('setNickAndRoom', {nick: nick, room: room}, function(response){
                $("#connection").html("<p>" + response.msg + "</p>");
            });
        });
}

我发现了这个,但它给出了undefined:

I found this, but it gives undefined:

count = io.rooms[Room].length;


推荐答案

如果您使用的是版本< 1,

If you're using version < 1,

var clients = io.sockets.clients(nick.room); //来自房间的所有用户

这篇关于在socket.io中的聊天室中有多少人的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆