Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

192
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!