server / utils /socket-client.js
Mark-Lasfar
Add GraphQL
4dd49ba
Raw
History Blame Contribute Delete
968 Bytes
const io = require('socket.io-client');
const SOCKET_SERVER_URL = process.env.SOCKET_SERVER_URL || 'https://al-asfar-mgzon-socket-server.hf.space';
let socketClient = null;
function getSocketClient() {
if (!socketClient) {
socketClient = io(SOCKET_SERVER_URL, {
transports: ['websocket', 'polling'],
reconnection: true,
reconnectionAttempts: 10,
reconnectionDelay: 1000,
reconnectionDelayMax: 5000,
});
socketClient.on('connect', () => {
console.log('✅ REST API connected to Socket.IO server');
});
socketClient.on('connect_error', (err) => {
console.error('❌ REST API Socket.IO connection error:', err.message);
});
socketClient.on('disconnect', () => {
console.warn('⚠️ REST API disconnected from Socket.IO server');
});
}
return socketClient;
}
module.exports = getSocketClient;