Files

27 lines
539 B
TypeScript

"use client";
import { io, Socket } from "socket.io-client";
let socket: Socket | null = null;
export function getSocket(): Socket {
if (typeof window === "undefined") {
// SSR - return a fake unconnected socket placeholder; never used.
return {} as Socket;
}
if (!socket) {
socket = io({
path: "/socket.io",
transports: ["websocket", "polling"],
autoConnect: true,
});
}
return socket;
}
export function disconnectSocket() {
if (socket) {
socket.disconnect();
socket = null;
}
}