41 lines
920 B
JavaScript
41 lines
920 B
JavaScript
import express from "express";
|
|
import http from "http";
|
|
const app = express();
|
|
const server = http.createServer(app);
|
|
|
|
import { Server } from "socket.io";
|
|
const io = new Server(server, {
|
|
cors: {
|
|
origin: "*",
|
|
},
|
|
});
|
|
|
|
const userSockets = new Map();
|
|
|
|
io.on("connection", (socket) => {
|
|
console.log(socket.id);
|
|
|
|
socket.on("message", (message, callback) => {
|
|
console.log(message);
|
|
io.emit("message", message);
|
|
callback({
|
|
status: "ok",
|
|
});
|
|
});
|
|
|
|
socket.on("disconnect", () => {
|
|
// Remove the user ID mapping when the socket disconnects
|
|
userSockets.forEach((socketId, userId) => {
|
|
if (socketId === socket.id) {
|
|
userSockets.delete(userId);
|
|
}
|
|
});
|
|
});
|
|
|
|
socket.on("clear", () => io.emit("clear"));
|
|
});
|
|
|
|
server.listen(3001, () => {
|
|
console.log("Server listening on port 3001");
|
|
});
|