Spaces:
Runtime error
Runtime error
File size: 870 Bytes
24727a3 dee3ea7 24727a3 4b59f7c 24727a3 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | import { io } from 'socket.io-client'
const SOCKET_URL = import.meta.env.VITE_SOCKET_URL || undefined
let socket = null
let currentToken = null
export function connectSocket(token) {
if (socket?.connected && currentToken === token) return socket
if (socket) socket.disconnect()
socket = io(SOCKET_URL, {
auth: { token },
transports: ['websocket', 'polling'],
reconnection: true,
reconnectionAttempts: Infinity,
reconnectionDelay: 1000,
reconnectionDelayMax: 5000,
})
socket.on('connect_error', (err) => {
console.warn('Socket connection error:', err.message)
})
currentToken = token
return socket
}
export function getSocket() {
return socket
}
export function disconnectSocket() {
if (socket) { socket.disconnect(); socket = null; currentToken = null }
}
export function getCurrentToken() {
return currentToken
}
|