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

221
Vistas
¿Socket.io está funcionando en localhost pero no funciona después de implementar heroku?

Aquí está el código de mi servidor de socket

 const io = require("socket.io")(8080, { cors: { // origin: "http://localhost:3000", origin: "https://mern-bubble.herokuapp.com", }, });

y herer es mi código del lado del cliente

 useEffect(() => { // socket.current = io("ws://localhost:8800"); socket.current = io("ws://mern-bubble.herokuapp.com:8800"); socket.current.on("getUser", (data) => { console.log("data from socket", data); dispatch(updateUserInfo(data)); }); }, [dispatch]);

Funciona completamente bien cuando estoy trabajando en localhost, pero cuando implemento mi proyecto en heroku, ¿socket.io no responde nada?

about 4 years ago · Santiago Gelvez
3 Respuestas
Responde la pregunta

0

Entonces creo que el puerto 8800 no está abierto en heroku. Debe ceñirse al puerto 3000 e intentarlo de nuevo. https://devcenter.heroku.com/articles/node-websockets#option-2-socket-io

about 4 years ago · Santiago Gelvez Denunciar

0

El puerto de Heroku se asigna dinámicamente al iniciar un Dyno. En lugar de codificar el puerto 8800 , use la variable de entorno $PORT en su lugar.

about 4 years ago · Santiago Gelvez Denunciar

0

Primero asegúrese de haber ingresado el comando:

heroku features:enable http-session-affinity

Estuve atascado en un problema similar cuando tuve todo correcto durante días, solo necesitaba habilitarlo en cli. Referencia: https://devcenter.heroku.com/articles/node-websockets

En el lado del cliente, debe ingresar la URL del sitio con https:// (dependiendo condicionalmente de la ubicación actual de la ventana o del valor de node_env):

 const newSocket = io('https://my-app.herokuapp.com', { transports: ["websocket"] } );

En el lado del servidor, mi aplicación MERN funcionó al tener un solo servidor con un puerto de 5050 y no tener que configurar nada en particular para el servidor de socket:

 import { Server } from "socket.io"; const server = http.createServer(app) export const io = new Server(server, { cors: { origin: 'https://my-app.herokuapp.com', methods: ["GET", "POST"], // allowedHeaders: ["my-custom-header"], credentials: true } })

Si funciona localmente y todas sus direcciones URL son correctas, intente ingresar el comando mencionado anteriormente o consulte los documentos websocket del nodo heroku.

about 4 years ago · Santiago Gelvez 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