Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

196
Vistas
Socket io, pruebe varias URL para establecer la conexión después de "connect_error"

Tengo una aplicación con código dividido (cliente/servidor). En el lado del cliente, me gustaría que socket io intente varias URL (una a la vez) hasta que se conecte correctamente.

Aquí está mi código:

 const BAD_HOST = "http://localhost:8081"; const LOCAL_HOST = "http://localhost:8080"; const SOCKET_CONFIG = { upgrade: false, transports: ["websocket"], auth: { ... }, // Trimmed for brevity extraHeaders: { ... }, // Trimmed for brevity }; let socket = io(BAD_HOST, SOCKET_CONFIG); // This connects fine when I use LOCAL_HOST socket.on("connect_error", (err) => { console.log(err); socket = io(LOCAL_HOST, SOCKET_CONFIG); // DOES NOT WORK }); socket.on("connect", () => { ... } // Trimmed for brevity

En resumen, cuando trato de reasignar el valor de socket a una nueva conexión io, parece conservar la antigua conexión fallida. Mi navegador continúa arrojando mensajes 'connect_error' desde la URL incorrecta: la WebSocket connection to 'ws://localhost:8081/socket.io/?EIO=4&transport=websocket' failed:

Revisé pero no pude encontrar ninguna documentación oficial sobre esta pregunta.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Creo que ya se ha discutido un enfoque aquí: https://stackoverflow.com/a/22722710/656708

Esencialmente, tiene una matriz de URL, que en su caso sería:

 const socketServerURLs = ["http://localhost:8081","http://localhost:8080"];

y luego itera sobre ellos, tratando de iniciar una conexión de socket, como esta:

 // something along these lines socketServerURLs.forEach((url) => { // ... socket.connect(url, socketConfiguration, (client) => {}); // ... }

Por otra parte, no sé qué implica un BAD_HOST . Suponiendo que quiere decir que una conexión a ese host falló, ¿cómo lo sabría sin intentar conectarse a él?

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda