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

78
Vistas
Heroku y Socket.io no escuchan en el mismo puerto

Así que estoy codificando esta web en Heroku e intento integrar un socket en la configuración. Pero el problema es que no puedo hacer que mi aplicación Heroku y el servidor socket.io escuchen el mismo puerto.

El puerto predeterminado para Heroku parece ser 5000 y para socket.io parece ser 3000.

Si trato de cambiar cualquiera de los puertos al mismo que el otro, aparece el error EADDRINUSE.

Sin embargo, si no lo hago, entonces los dos procesos parecen operar por separado.

cuando ejecuto npm start , la terminal dice

 Listening on 5000 listening on xoxo 3000

Y cuando encendí localhost:3000 , en realidad funciona (el socket.io), pero en localhost:5000 obviamente no funciona. De hecho, tampoco funciona en el sitio web que Heroku generó para mí (solo apareció localhost: 5000)

Las líneas de código a continuación son de mi archivo index.js.

¿Cómo podría arreglar esto? Gracias de antemano.

 const express = require('express'); const app = express(); const path = require('path') const http = require('http'); const server = http.createServer(app); const { Server } = require("socket.io"); const io = new Server(server); const PORT = process.env.PORT || 5000; const INDEX = '/index.ejs' app.listen(PORT, () => console.log(`Listening on ${ PORT }`)) app.use(express.static(path.join(__dirname, 'public'))); app.set('views', path.join(__dirname, 'views')); app.set('view engine', 'ejs'); app.get('/', (req, res) => res.render('index')); io.on('connection', (socket) => { socket.on('playerEvent', (msg) => { console.log(msg); }); console.log('a user connected'); socket.on('disconnect', () => { console.log('user disconnected'); }); socket.broadcast.emit('hi'); }); server.listen(3000, () => { console.log('listening on xoxo 3000'); }); //socket.on('playerEvent', function(msg){ // console.log(msg); //});
about 4 years ago · Juan Pablo Isaza
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