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

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

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 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!