require('dotenv').config() const express = require('express') const app = express() const http = require('http') const socket_io = require('socket.io') const ss = require('socket.io-stream') app.use(express.static('public', { extensions: ['html'] })) // app.get('/images', site.images) // app.post('/print', bodyParser.urlencoded({ extended: false }), site.print) // app.use('/upload', require('./upload')) let server = http.createServer(app) server.listen(process.env.EXPRESS_PORT, () => { console.log("Cortex remote listening on http://localhost:" + process.env.EXPRESS_PORT) }) const io = socket_io(server) 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") }) })