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

302
Vistas
La conexión de Chrome WebSocket se cierra inmediatamente

He estado tratando de configurar un servidor wss usando nodejs y encontré un problema al intentar conectarme usando Chrome. El problema aún ocurre con todas las extensiones deshabilitadas y en una ventana de incógnito, así que lo descarté como el problema.

Cuando intento conectarme usando Chrome, aparece el error:

 WebSocket connection to 'wss://www.domain-name.com/' failed:

sin ninguna razón dada. En el servidor, se llama inmediatamente a socket.on('close') con la descripción "Conexión interrumpida por un par remoto". El evento de cierre tiene wasClean = false. Este error no ocurre cuando se conecta desde Safari y Firefox, por lo que no estoy muy seguro de dónde buscar para ver qué lo está causando. Se ejecuta en AWS Lightsail y a través de un servidor proxy Apache.

El código del cliente:

 var socket = new WebSocket("wss://www.domain-name.com", 'JSON') socket.onopen = function (event) { console.log('open'); socket.send('socket opened')}; socket.onclose = function (event) { console.log(event)}; socket.onmessage = function(message) { console.log('receiving message from server...')};

Y el código del servidor:

 const WebSocketServer = require('websocket').server; app = express() var server = app.listen(3000, () => { console.log('Server started'); }); app.use(express.static('public')); var wsServer = new WebSocketServer({ httpServer: server }); wsServer.on('request', function(request){ console.log('New connection'); var connection = request.accept(null, request.origin); connection.send('welcome from server...'); connection.on('message', function(message){ console.log(message)}; connection.on('close', function(reasonCode, description) { console.log('disconnecting', reasonCode, description); }); });

También recibí el mismo error antes de cambiar a un servidor WebSocket seguro. Cualquier ayuda sería apreciada, me he quedado sin lugares para buscar y formas de tratar de obtener más información para ayudar a determinar cuál es el problema.

EDITAR: parece funcionar en Chrome en mi teléfono, pero no en Chrome en el teléfono de mis amigos.

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

0

El problema era no especificar el protocolo al aceptar la conexión. Después de aproximadamente 20 horas trabajando en el mismo error e implementando un certificado SSL para que funcione, cambié:

 request.accept(null, request.origin);

a:

 request.accept('json', request.origin);

Por alguna razón, Chrome da un mensaje de error realmente inútil. Microsoft edge ocurre el mismo error, pero da un mensaje de error mucho más útil para que pueda averiguar qué estaba pasando.

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