Files
ytp-glm/src/lib/server/socketClient.js
2025-11-07 00:53:00 +03:00

44 lines
1.1 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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;
}
}