Files
Michess/server/src/socket/index.ts
2023-02-05 13:49:40 +08:00

42 lines
1014 B
TypeScript

import type { Socket } from "socket.io";
import { io } from "../server.js";
import {
joinLobby,
leaveLobby,
getLatestGame,
sendMove,
joinAsPlayer,
chat
} from "./game.socket.js";
const socketConnect = (socket: Socket) => {
const req = socket.request;
// re-analyze if this is necessary, or if io.use will handle logout
socket.use((__, next) => {
req.session.reload((err) => {
if (err) {
console.log("reload: disconnecting socket.");
console.log(err);
socket.disconnect();
} else {
next();
}
});
});
socket.on("disconnect", leaveLobby);
socket.on("joinLobby", joinLobby);
socket.on("leaveLobby", leaveLobby);
socket.on("getLatestGame", getLatestGame);
socket.on("sendMove", sendMove);
socket.on("joinAsPlayer", joinAsPlayer);
socket.on("chat", chat);
};
export const init = () => {
io.on("connection", socketConnect);
};