import express from 'express'; import { createServer } from 'node:http'; import { Server } from 'socket.io'; import morgan from 'morgan'; export const app = express(); export const server = createServer(app); export const nodeIo = new Server(server); app.use(morgan('tiny')); app.get('/', (req, res) => { res.send('

Hello world

'); }); nodeIo.on('connection', (socket) => { console.log('a user connected', socket.id); socket.on('node-login', (data) => { nodeLoginWrapper(data); }) socket.on('node-update', (data) => { updateNodeData(data); }) socket.on('disconnect', () => { console.log('user disconnected'); }); // Test commands setTimeout(() => { const joinData = { 'clientID': "MTE5NjAwNTM2ODYzNjExMjk3Nw.GuCMXg.24iNNofNNumq46FIj68zMe9RmQgugAgfrvelEA", 'channelID': "367396189529833476", 'preset': "" } sendNodeCommand(socket, "node-join", joinData); }, 2500) //setTimeout(() => { sendNodeCommand(socket, "node-leave", {}); }, 3500) }); function sendNodeCommand(socket, command, data) { // TODO - Check to see if the command exists // TODO - Check to see if the socket is alive? // TODO - Validate the given data socket.emit(command, data); } function loginNode() { } function registerNode() { } function updateNodeData(data) { console.log("Data update sent by node: ", data); } function nodeLoginWrapper(data) { console.log(`Login requested from node: ${data.id}`, data); }