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

1K
Vistas
Usando socket io con express y ejs

Hola, acabo de empezar a aprender node js hoy y estoy usando express con ejs y tratando de agregar un servidor / chat de socket io, pero parece que no puedo entender por qué no puedo hacer que funcione.

La página se carga pero no se conecta al servidor de socket.

servidor.js:

 const express = require('express'); const expressLayouts = require('express-ejs-layouts'); const app = express(); // EJS app.use(expressLayouts); app.use(express.static("public")); app.set('view engine', 'ejs'); // Routes app.use('/', require('./routes/index.js')); app.use('/chat', require('./routes/chat.js')); app.use((req, res, next) => res.redirect('/')); const listener = app.listen(process.env.PORT, () => { console.log('Your app is listening on port ' + listener.address().port) });

enrutadores/chat.js

 const express = require('express'); const router = express.Router(); const server = require('http').createServer(); const io = require('socket.io')(server); // Chat Page router.get('/chat', (req, res) => { res.render("chat/chat"); }); io.on('connection', function(socket) { console.log('a user connected'); socket.on('chat message', function(msg) { console.log('message: ' + msg); }); }); module.exports = router;

vistas/chat/chat.ejs:

 <form action=""> <input id="m" autocomplete="off" /><button>Send</button> </form> <script src="/socket.io/socket.io.js"></script> <script src="https://code.jquery.com/jquery-1.11.1.js"></script> <script> $(function () { var socket = io(); $('form').submit(function(){ socket.emit('chat message', $('#m').val()); $('#m').val(''); return false; }); }); </script>

Error: Uncaught ReferenceError: io is not defined

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

No puede obtener /socket-lib/socket.io.js,

debe obtener http://yourwebsite.com:12345/socket.io/socket.io.js .

Básicamente, deberá proporcionar la fuente completa para la dirección del servidor.

El servidor automáticamente hace el resto por ti.

Fuente: https://stackoverflow.com/a/12160485/3010171

además. puede probar ./socket-lib/socket.io.js con un . antes de la barra

over 4 years ago · Santiago Trujillo 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