0
0
Fork 0

Migrate from uws to cws (#10805)

This commit is contained in:
abcang 2019-05-23 01:19:16 +09:00 committed by Eugen Rochko
parent 8a378d4c3d
commit ca6c93a2f5
3 changed files with 11 additions and 28 deletions

View file

@ -7,7 +7,7 @@ const redis = require('redis');
const pg = require('pg');
const log = require('npmlog');
const url = require('url');
const WebSocket = require('uws');
const { WebSocketServer } = require('@clusterws/cws');
const uuid = require('uuid');
const fs = require('fs');
@ -536,20 +536,13 @@ const startWorker = (workerId) => {
});
});
const wss = new WebSocket.Server({ server, verifyClient: wsVerifyClient });
const wss = new WebSocketServer({ server, verifyClient: wsVerifyClient });
wss.on('connection', ws => {
const req = ws.upgradeReq;
wss.on('connection', (ws, req) => {
const location = url.parse(req.url, true);
req.requestId = uuid.v4();
req.remoteAddress = ws._socket.remoteAddress;
ws.isAlive = true;
ws.on('pong', () => {
ws.isAlive = true;
});
let channel;
switch(location.query.stream) {
@ -610,17 +603,7 @@ const startWorker = (workerId) => {
}
});
setInterval(() => {
wss.clients.forEach(ws => {
if (ws.isAlive === false) {
ws.terminate();
return;
}
ws.isAlive = false;
ws.ping('', false, true);
});
}, 30000);
wss.startAutoPing(30000);
attachServerWithConfig(server, address => {
log.info(`Worker ${workerId} now listening on ${address}`);