'use strict'; var _ = require('lodash'); var C = require('../../../../share/constant'); var Handler = function(app){ this.app = app; }; module.exports = function(app){ return new Handler(app); }; var proto = Handler.prototype; proto.getConnector = function(msg, session, next){ var servers = this.app.getServersByType('connector'); ////检查不可用的connector端口 delete require.cache[require.resolve('../../../config/bkyconnets')]; let bkyports = require('../../../config/bkyconnets').bkyports || []; if(bkyports && bkyports.length > 0){ console.warn("-bky.bkyports ",bkyports); let newList = []; for (var i = 0; i < servers.length; i++) { if(bkyports.indexOf(servers[i].clientPort) == -1){ newList[newList.length] = servers[i]; } } servers = []; for (var i = 0; i < newList.length; i++) { servers[servers.length] = newList[i]; } } var server = _.sample(servers); if(!server){ return next(null, {code: C.ERROR, msg: C.GATE_NO_CONNECTOR}); } // console.warn("getConnector "+" host:+ " +server.clientHost+" port: "+server.clientPort); var data = {code: C.OK, data: {host: server.clientHost, port: server.clientPort}}; next(null, data); };