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

173
Vistas
¿Por qué mi chat de video socket.io no funciona en heroku?

Soy nuevo en WS y Heroku y todo eso... así que tengo este código

// esto configura sockets del lado del cliente, supongo

 import {io} from 'socket.io-client'; const options = { "force new connection": true, reconnectionAttempts: "Infinity", timeout : 10000, transports : ["websocket"] } const socket = io('/', options) export default socket;

y para el lado del servidor

 const path = require('path'); const express = require('express'); const app = express(); const server = require('http').createServer(app); const io = require('socket.io')(server); const {version, validate} = require('uuid'); const ACTIONS = require('./src/socket/actions'); const PORT = process.env.PORT || 3001; ///more code

Cuando se implementa en heroku, esto da como resultado esta aplicación https://lit-atoll-99067.herokuapp.com/ y la consola de Chrome dice:

La conexión de WebSocket a 'wss://lit-atoll-99067.herokuapp.com/socket.io/?EIO=4&transport=websocket' falló: WebSocket se cierra antes de que se establezca la conexión.

Así que me quedé sin ideas. pero supongo que esto tiene que ser sobre el puerto o algo... realmente no lo sé. ¡Cualquier idea es bienvenida!

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

0

Creo que necesita pasar la URL completa en el lado del cliente, pero solo pasó el ejemplo "/": -

 import {io} from 'socket.io-client'; const options = { "force new connection": true, reconnectionAttempts: "Infinity", timeout : 10000, transports : ["websocket"] } // here need to pass the full url const socket = io('https://example.com/', options) export default socket;

Y para el lado del servidor prueba esto

 const express = require('express'); const app = express(); const http = require('http'); const server = http.createServer(app); const { Server } = require("socket.io"); const io = new Server(server); io.on('connection', (socket) => { console.log('a user connected'); }); server.listen(3000, () => { console.log('listening on *:3000'); });
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