Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

230
Visualizações
Socket io arroja un error: está intentando adjuntar socket.io a una función de controlador de solicitud expresa

Soy nuevo en WebSocket, así que estoy tratando de crear una aplicación que use WebSocket para actualizar en tiempo real. Aquí está mi código:

 const PORT = process.env.PORT || 3000; const INDEX = "./index.html"; const socketIO = require("socket.io"); const express = require("express"); const app = express(); app.get("/", (req, res) => { res.sendFile(INDEX, { root: __dirname }); }); app.listen(PORT, () => { console.log("SERVER LISTENING ON PORT http://localhost:3000"); }); const io = socketIO(app); io.on("connection", (socket) => { console.log("Client connected"); socket.on("disconnect", () => console.log("Client disconnected")); });

Este código arroja un error de la siguiente manera:

Error: está intentando adjuntar socket.io a una función de controlador de solicitud expresa. Pase una instancia de http.Server.

Pero cuando escribo el código de la siguiente manera:

 const PORT = process.env.PORT || 3000; const INDEX = "/index.html"; const socketIO = require("socket.io"); const express = require("express"); const server = express() .get("/", (req, res) => res.sendFile(INDEX, { root: __dirname })) .use("/static", express.static("static")) .listen(PORT, () => console.log(`Listening on ${PORT}`)); const io = socketIO(server); io.on("connection", (socket) => { console.log("Client connected"); socket.on("disconnect", () => console.log("Client disconnected")); });

Simplemente funciona.

Por favor, ayúdame ¿Qué está pasando aquí?

¡¡¡Gracias de antemano!!!

about 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

socket.io espera una instancia devuelta por el método app.listen (donde la aplicación es una instancia expresa)

En el primer fragmento de código, está pasando una instancia expresa que es incorrecta, como mencioné anteriormente

La solución para el primer fragmento de código, para que pueda entenderlo mejor

 const PORT = process.env.PORT || 3000 const INDEX = './index.html' const socketIO = require('socket.io') const express = require('express') const app = express() const server = app.listen(PORT, () => { console.log('SERVER LISTENING ON PORT http://localhost:3000') }) const io = socketIO(server) app.get('/', (req, res) => { res.sendFile(INDEX, { root: __dirname }) }) io.on('connection', (socket) => { console.log('Client connected') socket.on('disconnect', () => console.log('Client disconnected')) })
about 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda