es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Las rutas HTTP no se llaman con la inicialización de SocketIO.

Estaba tratando de construir una aplicación que utiliza socket.io para el envío de mensajes y rutas de express para manejar solicitudes HTTP regulares. El problema es que las llamadas HTTP a esas rutas no suceden y obtengo un error de socket.io como se muestra a continuación:

{
“code”: 0,
“message”: “Transporte desconocido”
}

La forma en que implementé el servidor express y socket.io es la siguiente:

  app.use(express.json());
  app.use(
    cors({
      origin: FRONTEND_CORS,
    })
  );

// configurando socket.io
  const io = new Server(httpServer, {
    path: "/",
    cors: {
      origin: FRONTEND_CORS,
      methods: ["GET", "POST,"],
      credentials: false,
    },
  });
  io.on("connection", (socket: Socket) => {
  });

httpServer.listen(PORT, () =>
console.log(`El servidor se está ejecutando en el puerto ${PORT}`);


});

app.use(voucherRoutes);

Aquí, voucherRoutes representa las rutas HTTP a las que intenté acceder:

const router = express.Router();

router.get("/api/fetchVouchers", FetchAllVouchers);
router.post("/api/addVoucher", CreateVoucher);
router.get("/api/getCurrentId", FetchCurrentId);

export default router;

Estoy feliz de proporcionar más detalles si es necesario y cualquier ayuda es apreciada.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que está teniendo un problema con sus rutas de Express que no se llaman cuando hace una solicitud HTTP. Ha proporcionado el código para su servidor Express y la configuración de socket.io, así como las rutas a las que está intentando acceder.

    Es posible que el problema esté relacionado con la configuración CORS que ha configurado. También es posible que el problema esté relacionado con el orden en que está configurando su servidor Express y socket.io.

    Si puede proporcionar más detalles sobre el entorno en el que está ejecutando su aplicación, así como cualquier información adicional sobre el error que está recibiendo, puede ayudar a identificar la causa del problema.

Comments are closed.