我正在使用 socket 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 } });
uj5u.com熱心網友回復:
socket.emit 用于在全域范圍內發出事件。所有連接到 socket 的用戶都將監聽并獲取資料。用于在房間內共享訊息
socket.broadcast.to(roomid).emit()
你的代碼會是這樣
socket.broadcast.to(event).emit( 'message' , {message:message,
socketId:socket.id
});
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/339481.html
