使用套接字 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
});
我正在使用套接字 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
});