Sigillum/Frontend/MainApp/lib/socket.ts
2025-05-09 21:27:56 +05:30

30 lines
No EOL
786 B
TypeScript

import { io, Socket } from 'socket.io-client'
let socket: Socket | null = null;
export const initSocket = (token: string): Socket => {
if (!socket) {
socket = io(process.env.NEXT_PUBLIC_BASE_URL, {
transports: ['polling', 'websocket'],
withCredentials: true,
extraHeaders: {
token
}
});
socket.on('connect', () => {
console.log('Socket connected:', socket?.id);
});
socket.on('connect_error', (err) => {
console.error('Socket connect_error:', err.message);
});
socket.on('disconnect', () => {
console.log('Socket disconnected');
});
}
return socket
}
export const getSocket = (): Socket | null => socket;