Newer
Older
xsplit_control / server / index.js
const { WebSocketServer } = require('ws');
const express = require('express');

let scenes = [];
let clients = [];

function sendScenes(ws)
{
    ws.send(JSON.stringify({scenes}));
}

const wss = new WebSocketServer({ port: 8080 });
wss.on('connection', ws =>
    {
        clients.push(ws);
        sendScenes(ws);
        ws.onmessage = ev =>
        {
            try
            {
                const data = JSON.parse(ev.data);
                console.log(data);

                if (Array.isArray(data.scenes))
                {
                    scenes = data.scenes;
                    clients.forEach(sendScenes);
                }
            }
            catch {}
        };
    }
);

const app = express();
app.use('/', express.static('public'));
app.listen(80);