Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/453.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 断开socket.io室中所有用户的连接_Javascript_Socket.io - Fatal编程技术网

Javascript 断开socket.io室中所有用户的连接

Javascript 断开socket.io室中所有用户的连接,javascript,socket.io,Javascript,Socket.io,我一直在尝试在管理员希望的时候断开所有用户与文件室的连接。 我可以从房间中获取插座ID,但在尝试断开连接或离开房间时会出错 这就是我连接的方式: var io = require('socket.io'), http = require('http'), server = http.createServer(), io = io.listen(server); io.sockets.on('connection', function(socket){

我一直在尝试在管理员希望的时候断开所有用户与文件室的连接。 我可以从房间中获取插座ID,但在尝试断开连接或离开房间时会出错

这就是我连接的方式:

 var io = require('socket.io'),
    http = require('http'),
    server = http.createServer(),
    io = io.listen(server);

    io.sockets.on('connection', function(socket){
      //socket.join('groupname');
      console.log('User connected');

      socket.on('disconnect', () => {
        console.log('User disconnected...');

      })

//This is how the room is connected to
  socket.on('group', function(groupname) {
         socket.join(groupname);
     });

    socket.on('completed', function(groupname) {
         var users = io.nsps["/"].adapter.rooms[groupname]
              console.log(users)
            for(var i = 0; i < users.length; i++){
               console.log(users[i])///undefined
           }

      });

  })
谢谢你的帮助
Roy完成了这项工作,特别感谢tienthanh8490澄清了Socket.io中的数据管理

我想我以前所做的,尤其是我的第二个例子是;尝试在字符串上启动函数

不管怎样,这是有效的

 socket.on('completed', function(groupname) {
        io.of('/').in(groupname).clients(function(error, clients){
         if (error) throw error;
         for(var i=0; i <clients.length; i++){
            io.sockets.connected[clients[i]].disconnect(true)
         }
       });
socket.on('completed',函数(groupname){
('/').in(groupname).clients(函数(错误,客户端)中的io.of('/')){
如果(错误)抛出错误;

对于(var i=0;我很完美,在版本2.0.0中工作得很好。谢谢!没问题,很高兴它有帮助
 socket.on('completed', function(groupname) {
        io.of('/').in(groupname).clients(function(error, clients){
         if (error) throw error;
         for(var i=0; i <clients.length; i++){
            io.sockets.connected[clients[i]].disconnect(true)
         }
       });