Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

211
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda