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

255
Vistas
Socket.io: no se puede leer la propiedad 'emitir' de undefined

Entonces, estoy tratando de conectar a varios usuarios a una sala donde se puede compartir el video, pero sigo recibiendo un error cada vez que me uno a una sala que es Cannot read property 'emit' of undefined que se lanza para el socket.to(roomId).broadcast.emit('user-connected', userId) línea socket.to(roomId).broadcast.emit('user-connected', userId) . No estoy seguro de qué está causando esto, y cualquier ayuda sería genial. Salud.

 const express = require('express') const app = express() const server = require('http').Server(app) const io = require('socket.io')(server) const { v4: uuidV4 } = require('uuid') app.set('view engine', 'ejs') app.use(express.static('public')) app.get('/', (req, res) => { res.redirect(`/${uuidV4()}`) }) app.get('/:room', (req, res) => { res.render('room', { roomId: req.params.room }) }) io.on('connection', socket => { socket.on('join-room', (roomId, userId) => { socket.join(roomId) socket.to(roomId).broadcast.emit('user-connected', userId) // This line here socket.on('disconnect', () => { socket.to(roomId).broadcast.emit('user-disconnected', userId) }) }) }) server.listen(3000)
over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Para transmitir a todos los clientes en una habitación en particular, simplemente use socket.to(roomId).emit(...) . No necesita usar la propiedad .broadcast .

over 4 years ago · Santiago Trujillo Denunciar

0

Si tengo razón, está siguiendo el video Zoom Clone de Web Dev Simplified, estaba enfrentando el mismo problema, pero la omisión de la propiedad .broadcast funciona bien.

over 4 years ago · Santiago Trujillo Denunciar

0

socket.broadcast.to(roomId).emit("user-connected", userId);

funcionó para mí

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