UNPKG

genuinex-screen-sync-server

Version:
45 lines (37 loc) 844 B
/** * @format */ 'use strict'; const http = require('http'); const express = require('express'); const cors = require('cors'); const WebSocket = require('ws'); const router = require('./router'); // Config const port = process.env.NODE_PORT || 8080; const app = express(); const server = http.createServer(app); // Setup WebSocket const wss = new WebSocket.Server({ server, path: '/subscribe' }); wss.broadcast = (data) => { const str = JSON.stringify(data); wss.clients.forEach(client => { if (client.readyState === WebSocket.OPEN) { client.send(str); } }); } // Express middlware app.use(express.json()); app.use(cors({ origin: true })); app.use((req, res, next) => { req.ws = wss; return next(); }); // Install router app.use(router); server.listen(port, () => { console.log('listening on ' + port); });