mirror of
https://github.com/legop3/MultiRoombaRover.git
synced 2026-09-16 01:21:20 -04:00
22 lines
688 B
JavaScript
22 lines
688 B
JavaScript
// Global WebSocket Server
|
|
// Purpose: Stores the shared raw WebSocket server instance for modules that need direct access. Scope: Centralizes setter/getter access for process-wide WS wiring.
|
|
const { WebSocketServer } = require('ws');
|
|
const { httpServer } = require('./http');
|
|
const logger = require('./logger');
|
|
|
|
const roverWSS = new WebSocketServer({ noServer: true });
|
|
|
|
httpServer.on('upgrade', (req, socket, head) => {
|
|
if (req.url.startsWith('/rover')) {
|
|
roverWSS.handleUpgrade(req, socket, head, (ws) => {
|
|
roverWSS.emit('connection', ws, req);
|
|
});
|
|
}
|
|
});
|
|
|
|
roverWSS.on('connection', () => {
|
|
logger.info('Rover websocket connected');
|
|
});
|
|
|
|
module.exports = roverWSS;
|