- Move socket server start to main server file - This way tests and the main function can use the same code
33 lines
905 B
JavaScript
33 lines
905 B
JavaScript
import express from 'express';
|
|
import { createServer } from 'node:http';
|
|
import { Server } from 'socket.io';
|
|
import morgan from 'morgan';
|
|
import { nodeLoginWrapper, nodeUpdateWrapper, nodeDisconnectWrapper, nearbySystemsUpdateWraper } from "./socketServerWrappers.mjs";
|
|
|
|
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('<h1>Hello world</h1>');
|
|
});
|
|
|
|
nodeIo.on('connection', (socket) => {
|
|
console.log('a user connected', socket.id);
|
|
|
|
socket.on('node-login', (data) => {
|
|
nodeLoginWrapper(data, socket);
|
|
})
|
|
|
|
socket.on('node-update', (data) => {
|
|
nodeUpdateWrapper(data.node);
|
|
nearbySystemsUpdateWraper(data.node.nuid, data.nearbySystems)
|
|
})
|
|
|
|
socket.on('disconnect', () => {
|
|
nodeDisconnectWrapper(socket.id);
|
|
});
|
|
|
|
}); |