import { io } from 'socket.io-client'; let socket = null; export function getSocketClient() { if (!socket) { socket = io('http://localhost:3001', { transports: ['websocket', 'polling'] }); socket.on('connect', () => { console.log('✅ Server-side Socket.IO client connected:', socket.id); }); socket.on('disconnect', () => { console.log('❌ Server-side Socket.IO client disconnected'); }); socket.on('connect_error', (err) => { console.error('❌ Socket.IO connection error:', err.message); }); } return socket; } export function emitSocketEvent(event, data) { const client = getSocketClient(); console.log(`📢 Attempting to emit event: ${event}, connected: ${client?.connected}`); if (client && client.connected) { console.log(`📢 Emitting API event to server: api-${event}`, data); // API event olarak gönder, server broadcast edecek client.emit(`api-${event}`, data); return true; } else { console.warn('⚠️ Socket not connected, cannot emit event'); // Bağlantı yoksa yeniden bağlanmayı dene if (client && !client.connected) { client.connect(); } return false; } }