Files
docker-compose-hatthieves/testing/magicworld/server/server_gus.js
2020-05-28 10:46:51 +00:00

47 líneas
1.4 KiB
JavaScript

'use strict';
var constants = require('constants'),
https = require('https'),
path = require('path'),
tls = require('tls'),
fs = require('fs'),
Url = require('url'),
WebSocket = require('ws');
const server = https.createServer({
secureProtocol: 'SSLv23_method',
secureOptions: constants.SSL_OP_NO_SSLv3,
rejectUnauthorized: false,
key: fs.readFileSync(__dirname + '/ssl/key.pem'),
cert: fs.readFileSync(__dirname + '/ssl/cert.pem')
});
const wss = new WebSocket.Server({ server });
wss.on('connection', function connection(ws, req) {
//console.log(Url.parse(req.url, true).query);
console.log("Connect");
var params = Url.parse(req.url, true).query;
ws.channel = params.channelName;
ws.on('message', function message(msg) {
wss.clients.forEach(function each(client) {
if (client !== ws && client.channel == ws.channel && client.readyState === WebSocket.OPEN) {
client.send(msg);
}
});
});
});
server.listen('9000', 'magicworld.servebeer.com', function listening() {
const ws = new WebSocket(`wss://magicworld.servebeer.com:${server.address().port}`, {
rejectUnauthorized: true
});
ws.on('open', function open() {
ws.send(`WebSocket Listen in ${server.address().port}`);
});
});
wss.on('connection', function connection(ws) {})