require('dotenv').config() const app = require('express')() const server = require('http').createServer(app) const io = require('socket.io')(server) const ss = require('socket.io-stream') const client = io.of('/client') const relay = io.of('/relay') client.on('connect', socket => { console.log('client connected') socket.on('cmd', data => { relay.emit('cmd', data) }) socket.on('disconnect', () => { console.log("client disconnected") }) }) relay.on('connect', socket => { console.log('relay connected') socket.on('params', data => { client.emit('params', data) }) ss(relay).on('frame', (stream, data) => { console.log(data) Object.values(client.connected).map(socket => { ss(socket).emit('frame', stream, data) }) }) socket.on('disconnect', () => { console.log("relay disconnected") }) }) server.listen(process.env.EXPRESS_PORT)