使用套接字 io 如何将消息共享给除发件人之外的所有 Room 用户

using socket io how to share a message to all users of Room except sender

我正在使用套接字 io 和 express。我想向房间的所有用户广播我的消息,但向该房间的用户广播所有已连接的接收消息的用户。房间id是房间id

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');
}

现在这是消息块

 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 用于发出事件 globally.All 连接到套接字的用户将监听并获取数据。用于在房间中共享消息使用

socket.broadcast.to(roomid).emit()

你的代码就是这样

socket.broadcast.to(event).emit( 'message' , {message:message,
socketId:socket.id
    });