SEMS-on-device-server/server.js

54 lines
1.1 KiB
JavaScript
Raw Normal View History

2024-09-11 19:06:44 +08:00
import { createServer } from "node:http";
import next from "next";
import { Server } from "socket.io";
import {fork} from "node:child_process"
const dev = process.env.NODE_ENV !== "production";
const hostname = "0.0.0.0";
const port = 3000;
// when using middleware `hostname` and `port` must be provided below
const app = next({ dev, hostname, port });
const handler = app.getRequestHandler();
app.prepare().then(() => {
const httpServer = createServer(handler);
const io = new Server(httpServer);
io.on("connection", (socket) => {
console.log("connected")
socket.emit("msg","connected")
io.emit("msg","io.emit");
});
// socket_global.emit("msg","socket_global")
httpServer
.once("error", (err) => {
console.error(err);
process.exit(1);
})
.listen(port, () => {
console.log(`> Ready on http://${hostname}:${port}`);
});
const forked = fork("./src/lib/scanner.js")
forked.on("message", msg => {
console.log("received",msg)
io.emit("msg",msg);
})
forked.send({ hello: "world" })
});