[fix] Initialize the WebSocket server in the Server constructor (#476)

This commit is contained in:
Luigi Pinca
2017-01-30 15:52:00 +01:00
committed by Damien Arrachequesne
parent 9b4e983a0a
commit cdb487dbdc
2 changed files with 20 additions and 16 deletions

View File

@@ -61,6 +61,8 @@ function Server (opts) {
compression.threshold = 1024;
}
});
this.init();
}
/**
@@ -104,23 +106,24 @@ Server.prototype.clients;
*/
Server.prototype.init = function () {
if (~this.transports.indexOf('websocket')) {
var wsModule;
try {
wsModule = require(this.wsEngine);
} catch (ex) {
this.wsEngine = 'ws';
// keep require('ws') as separate expression for packers (browserify, etc)
wsModule = require('ws');
}
var WebSocketServer = wsModule.Server;
this.ws = new WebSocketServer({
noServer: true,
clientTracking: false,
perMessageDeflate: this.perMessageDeflate,
maxPayload: this.maxHttpBufferSize
});
if (!~this.transports.indexOf('websocket')) return;
if (this.ws) this.ws.close();
var wsModule;
try {
wsModule = require(this.wsEngine);
} catch (ex) {
this.wsEngine = 'ws';
// keep require('ws') as separate expression for packers (browserify, etc)
wsModule = require('ws');
}
this.ws = new wsModule.Server({
noServer: true,
clientTracking: false,
perMessageDeflate: this.perMessageDeflate,
maxPayload: this.maxHttpBufferSize
});
};
/**