Estoy usando socket io y express. Quiero transmitir mi mensaje a todos los usuarios de la sala, pero en lugar de los usuarios de esa sala, todos los usuarios que están conectados reciben el mensaje. El ID de la habitación es el ID de la habitación.
const app = require('express')(); const http = require('http').Server(app); const io = require('socket.io')(http); const port = process.env.PORT || 8080; const bodyParser = require('body-parser'); const cors = require('cors'); const path = require('path'); app.use(cors({origin: true})); app.use(bodyParser.urlencoded({ extended: false })); app.use(bodyParser.json()); io.on('connection', async (socket) => { console.log('user connected'); }Ahora este es un bloque de mensajes
socket.on('message' , async (data)=>{ //want to broadcast message to all users except sender //Room is Group1Room and room id is RoomId io.emit('message', {message:"hello" , socketId:socket.id}) //recive message io.on('message' , (data)=>{ console.log('data is ' data); }) } ```ata,{ where: { id } });socket.emit se usa para emitir un evento globalmente. Todos los usuarios conectados al socket escucharán y obtendrán datos. para compartir un mensaje en el uso de la habitación
socket.broadcast.to(roomid).emit()tu codigo sera asi
socket.broadcast.to(event).emit( 'message' , {message:message, socketId:socket.id });