如何使用socket.io获取套接字连接数

时间:2014-01-31 05:03:45

标签: node.js socket.io

有没有办法获得socket.io中的连接数?

我想在我的网站上显示一条消息“x用户立即连接”

基本上如果我做了一个socket.broadcast,我想计算会有多少连接。

2 个答案:

答案 0 :(得分:0)

您可以使用

io.sockets.clients().length

基本上io.sockets.clients()返回所有客户端的Socket实例。如果您正在使用房间,那么最好使用

io.sockets.clients('room').length

因为它返回特定房间中所有客户端的套接字实例

答案 1 :(得分:0)

    Using this code Server site



 var noOfUser=[];
      socket.on('someEventFromClient',function(data){
               //User name must unique
               socket.username=data.username;
               noOfUser.push(data.username);
//Now you can emit no of user to client are any where
                                         console.log('NO of user:'+noOfUser.length);
              });

            socket.on('disconnect',function(){
                       for(var i=0;i<noOfUser;i++)
                             {
                                       if(noOfUser[i]==socket.username)
                                           {
                                                noOfUser.splice(i,1);
                                               }
                                            //Now you can emit no of user to client are any where
                                         console.log('NO of user:'+noOfUser.length);
                                    }
             });

客户方: 当用户连接套接字服务器时发出此事件 socket.emit( 'someEventFromCLient',{用户名: 'someuniqueID'});