管理多个socket.io服务器

时间:2017-03-21 19:19:36

标签: javascript node.js socket.io

我希望能够在同一个Node.js应用程序中以编程方式构建,管理和关闭多个Socket.io服务器。我知道我可以将多个服务器硬编码到代码中,如client getting connections to multiple socket.io node.js servers所示,但我希望能够动态添加和删除它们。

我尝试将它们添加到数组中,但服务器似乎无法运行,并且没有任何内容添加到数组中。

//main.js

const serverManager = require('./servers.js');

var activeServers = [];

var createServer = function(port) {
  var newServer = serverManager.build(port);
  activeServers.push(newServer);
  console.log(activeServers[0]) // Returns undefined
};

//servers.js

var socketio = require('socket.io');

exports.build = function(port) {
    var io = socketio.listen(port);
    return io;

//    io.on('connection', function(socket) {
//      console.log(socket.id + ' connected!')
//      socket.on('foo', function(msg1) {
//        socket.emit('bar','world');
//      });
//    });
  }

当我使用createServer(portNumber)(来自main.js)创建服务器时,服务器运行正常并且新连接被推送到控制台,但它似乎没有添加到数组中。我也不确定如何在添加服务器后删除它们。我可以在不同的端口上添加多个服务器,并且可以连接到所有服务器,但我不确定如何管理它们或者在它们被创建之后保存到的位置。

0 个答案:

没有答案