Saltar al contenido principal

Conexión al Servidor WebSocket

La comunicación entre el sensor y el servidor se realiza a través de Socket.io Client (versión 4.x) sobre el namespace /oee.


1. Parámetros de Conexión

  • Namespace / Ruta de Conexión: /oee
  • Ejemplo URL de Conexión: https://api.improvemeter.com/oee
  • Transportes del Protocolo: ["websocket", "polling"]
  • Autenticación: Transmitir el token obtenido en la fase previa mediante el objeto auth.

2. Código de Inicialización

import { io } from 'socket.io-client';

function connectSensorSocket(serverUrl, socketAuthToken) {
const socket = io(`${serverUrl}/oee`, {
auth: {
token: socketAuthToken
},
transports: ['websocket', 'polling'],
autoConnect: true,
reconnection: true,
reconnectionAttempts: 10,
reconnectionDelay: 3000
});

// Conexión exitosa a nivel transporte
socket.on('connect', () => {
console.log('✅ Conectado al servidor WebSocket:', socket.id);
});

// Confirmación de autenticación desde el servidor
socket.on('connection-established', (data) => {
console.log('🎉 Autenticación confirmada por el servidor:', data.message);
});

// Error de autenticación (Token inválido o expirado)
socket.on('auth-error', (data) => {
console.error('❌ Error de Autenticación:', data.message);
});

socket.on('disconnect', (reason) => {
console.warn('⚠️ Desconectado del servidor. Razón:', reason);
});

return socket;
}

3. Estado de la Conexión

Evento RecibidoDescripción
connectConexión WebSocket establecida con éxito.
connection-establishedEl servidor ha validado el token JWT de acceso.
auth-errorEl token fue rechazado por el servidor.
disconnectPérdida de conexión con el servidor.