Updated dir structure to put the actual source code in the general /src dir
This commit is contained in:
47
src/modules/socketServer.mjs
Normal file
47
src/modules/socketServer.mjs
Normal file
@@ -0,0 +1,47 @@
|
||||
import { DebugBuilder } from "../modules/debugger.mjs";
|
||||
const log = new DebugBuilder("server", "socketServer");
|
||||
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) => {
|
||||
log.INFO("a user connected", socket.id);
|
||||
|
||||
socket.on("node-login", async (data) => {
|
||||
await nodeLoginWrapper(data, socket);
|
||||
await socket.emit("node-login-successful");
|
||||
});
|
||||
|
||||
socket.on("node-update", async (data) => {
|
||||
let tempPromises = [];
|
||||
tempPromises.push(nodeUpdateWrapper(data.node));
|
||||
tempPromises.push(
|
||||
nearbySystemsUpdateWraper(data.node.nuid, data.nearbySystems),
|
||||
);
|
||||
|
||||
await Promise.all(tempPromises);
|
||||
|
||||
await socket.emit("node-update-successful");
|
||||
});
|
||||
|
||||
socket.on("disconnect", () => {
|
||||
nodeDisconnectWrapper(socket.id);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user