Check port already used

This commit is contained in:
Jhen 2016-07-19 02:10:16 +08:00
parent 880e87b987
commit 168206b9e0
2 changed files with 19 additions and 1 deletions

View File

@ -1,5 +1,7 @@
var assign = require('object-assign'); var assign = require('object-assign');
var repeat = require('repeat-string');
var getOptions = require('./getOptions'); var getOptions = require('./getOptions');
var getPort = require('getport');
module.exports = function(argv) { module.exports = function(argv) {
var SocketCluster = require('socketcluster').SocketCluster; var SocketCluster = require('socketcluster').SocketCluster;
@ -7,5 +9,19 @@ module.exports = function(argv) {
workerController: __dirname + '/worker.js', workerController: __dirname + '/worker.js',
allowClientPublish: false allowClientPublish: false
}); });
return new SocketCluster(options); var port = options.port;
return new Promise(function(resolve) {
// Check port already used
getPort(port, function(err, p) {
if (err) return console.error(err);
if (port !== p) {
console.log('[RemoveDev] Server port ' + port + ' is already used.');
resolve({ portAlreadyUsed: true, on: function(status, cb) { cb(); } });
} else {
console.log('[RemoveDev] Start server...');
console.log(repeat('-', 80) + '\n');
resolve(new SocketCluster(options));
}
});
});
}; };

View File

@ -30,8 +30,10 @@
"cors": "^2.7.1", "cors": "^2.7.1",
"ejs": "^2.4.1", "ejs": "^2.4.1",
"express": "^4.13.3", "express": "^4.13.3",
"getport": "^0.1.0",
"minimist": "^1.2.0", "minimist": "^1.2.0",
"object-assign": "^4.1.0", "object-assign": "^4.1.0",
"repeat-string": "^1.5.4",
"socketcluster": "^4.3.1" "socketcluster": "^4.3.1"
} }
} }