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 repeat = require('repeat-string');
var getOptions = require('./getOptions');
var getPort = require('getport');
module.exports = function(argv) {
var SocketCluster = require('socketcluster').SocketCluster;
@ -7,5 +9,19 @@ module.exports = function(argv) {
workerController: __dirname + '/worker.js',
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));
}
});
});
};