fix:websocket errors & polict change

This commit is contained in:
2026-01-02 14:26:54 +00:00
parent ef277a3cfd
commit 3a7b1b9794
6 changed files with 64 additions and 42 deletions
+8 -8
View File
@@ -1,4 +1,4 @@
import { addUser, removeUser } from "../state/connection";
import { addUser, removeUser } from '../state/connection.js';
const HEARTBEAT_INTERVAL = 30000; // 30 seconds
const HEARTBEAT_TIMEOUT = 10000; // 10 seconds
@@ -8,36 +8,36 @@ export const handleConnectionEvents = (io, socket) => {
let heartbeatTimeout;
const startHeartbeat = () => {
heartbeatInterval = setInterval(() => {
socket.emit("heartbeat");
socket.emit('heartbeat');
heartbeatTimeout = setTimeout(() => {
console.log(
`[Heartbeat] No response from ${socket.id}, disconnecting...`
`[Heartbeat] No response from ${socket.id}, disconnecting...`,
);
socket.disconnect(true);
}, HEARTBEAT_TIMEOUT);
}, HEARTBEAT_INTERVAL);
};
socket.on("heartbeat_ack", () => {
socket.on('heartbeat_ack', () => {
clearTimeout(heartbeatTimeout);
console.log(`[Heartbeat] Received pong from ${socket.id}`);
});
socket.on("join", (user) => {
socket.on('join', (user) => {
addUser(socket, user);
console.log(`[Connection] User ${user.name} has joined the server`);
});
socket.on("leave", () => {
socket.on('leave', () => {
const user = removeUser(socket.id);
if (user) {
console.log(`[Connection] User ${user.name} has left the server`);
}
});
socket.on("disconnect", () => {
console.log("Connection Lost:", socket.id);
socket.on('disconnect', () => {
console.log('Connection Lost:', socket.id);
removeUser(socket.id);
});
};