Improve the server so that both protocol (WebSocket and WebRTC) can use the same port
This commit is contained in:
parent
7ee75b9e7f
commit
c7d190f1c0
@ -157,6 +157,7 @@ let run = module.exports.run = function (storage, socketServer) {
|
|||||||
});
|
});
|
||||||
}, 5000);
|
}, 5000);
|
||||||
socketServer.on('connection', function(socket) {
|
socketServer.on('connection', function(socket) {
|
||||||
|
if(socket.upgradeReq.url !== '/cryptpad_websocket') { return; }
|
||||||
let conn = socket.upgradeReq.connection;
|
let conn = socket.upgradeReq.connection;
|
||||||
let user = {
|
let user = {
|
||||||
addr: conn.remoteAddress + '|' + conn.remotePort,
|
addr: conn.remoteAddress + '|' + conn.remotePort,
|
||||||
|
|||||||
@ -6,6 +6,7 @@ const CLOSE_UNSUPPORTED = 1003
|
|||||||
|
|
||||||
var run = module.exports.run = function(server) {
|
var run = module.exports.run = function(server) {
|
||||||
server.on('connection', (socket) => {
|
server.on('connection', (socket) => {
|
||||||
|
if(socket.upgradeReq.url !== '/cryptpad_webrtc') { return; }
|
||||||
socket.on('message', (data) => {
|
socket.on('message', (data) => {
|
||||||
try {
|
try {
|
||||||
let msg = JSON.parse(data)
|
let msg = JSON.parse(data)
|
||||||
|
|||||||
@ -11,8 +11,6 @@ module.exports = {
|
|||||||
httpPort: 3000,
|
httpPort: 3000,
|
||||||
// the port used for websockets
|
// the port used for websockets
|
||||||
websocketPort: 3001,
|
websocketPort: 3001,
|
||||||
// the port used for webrtc (uncomment to use the WebRTC server)
|
|
||||||
// webrtcPort: 3002,
|
|
||||||
|
|
||||||
// You now have a choice of storage engines
|
// You now have a choice of storage engines
|
||||||
|
|
||||||
|
|||||||
35
server.js
35
server.js
@ -63,8 +63,8 @@ app.get('/api/config', function(req, res){
|
|||||||
res.send('define(' + JSON.stringify({
|
res.send('define(' + JSON.stringify({
|
||||||
websocketURL:'ws' + ((httpsOpts) ? 's' : '') + '://' + host + ':' +
|
websocketURL:'ws' + ((httpsOpts) ? 's' : '') + '://' + host + ':' +
|
||||||
config.websocketPort + '/cryptpad_websocket',
|
config.websocketPort + '/cryptpad_websocket',
|
||||||
webrtcURL: (config.webrtcPort) ? 'ws' + ((httpsOpts) ? 's' : '') + '://' + host + ':' +
|
webrtcURL:'ws' + ((httpsOpts) ? 's' : '') + '://' + host + ':' +
|
||||||
config.webrtcPort : ''
|
config.websocketPort + '/cryptpad_webrtc',
|
||||||
}) + ');');
|
}) + ');');
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -74,31 +74,14 @@ httpServer.listen(config.httpPort,config.httpAddress,function(){
|
|||||||
console.log('listening on %s',config.httpPort);
|
console.log('listening on %s',config.httpPort);
|
||||||
});
|
});
|
||||||
|
|
||||||
if(config.websocketPort) {
|
var wsConfig = { server: httpServer };
|
||||||
var wsConfig = { server: httpServer };
|
if (config.websocketPort !== config.httpPort) {
|
||||||
if (config.websocketPort !== config.httpPort) {
|
|
||||||
console.log("setting up a new websocket server");
|
console.log("setting up a new websocket server");
|
||||||
wsConfig = { port: config.websocketPort};
|
wsConfig = { port: config.websocketPort};
|
||||||
}
|
}
|
||||||
var wsSrv = new WebSocketServer(wsConfig);
|
var wsSrv = new WebSocketServer(wsConfig);
|
||||||
Storage.create(config, function (store) {
|
Storage.create(config, function (store) {
|
||||||
console.log('DB connected');
|
console.log('DB connected');
|
||||||
// ChainPadSrv.create(wsSrv, store);
|
|
||||||
NetfluxSrv.run(store, wsSrv);
|
NetfluxSrv.run(store, wsSrv);
|
||||||
//WebRTCSrv.run(store, wsSrv);
|
WebRTCSrv.run(wsSrv);
|
||||||
});
|
});
|
||||||
}
|
|
||||||
if(config.webrtcPort) {
|
|
||||||
var wrConfig = { server: httpServer };
|
|
||||||
if (config.webrtcPort !== config.httpPort) {
|
|
||||||
console.log("setting up a new webrtc server");
|
|
||||||
wrConfig = { port: config.webrtcPort};
|
|
||||||
}
|
|
||||||
var wrSrv = new WebSocketServer(wrConfig);
|
|
||||||
WebRTCSrv.run(wrSrv);
|
|
||||||
// Storage.create(config, function (store) {
|
|
||||||
// console.log('DB connected for WebRTC');
|
|
||||||
// ChainPadSrv.create(wsSrv, store);
|
|
||||||
//NetfluxSrv.run(store, wsSrv);
|
|
||||||
// });
|
|
||||||
}
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user