Cuando intento io.emit() , el mensaje se emite a todos, pero cuando intento io.to(room).emit() , el mensaje no se emite (en la tercera última línea del código).
Revisé manualmente los enchufes en la habitación y todos están presentes en la habitación correctamente. Pero el mensaje nunca se transmite.
io.on('connection', (socket) => { socket.on("create game", async ( gameID, host ) => { socket.join(gameID); // some logic }) socket.on("join game", async ( gameID, user ) => { socket.join(gameID); // some logic io.to(gameID).emit("new user", user); }) });¿Está su socket conectado a un espacio de nombres en particular? En mi proyecto tenía en el lado del cliente lo siguiente:
const socket = io.connect("/play-online").Entonces, para emitir a la habitación que creé para eso, tuve que hacer:
io.of("/play-online").to(room.roomName).emit("move", move);Pude arreglarlo usando socket.in(gameID).emit("new user", user); en cambio