socket.io加入房间
时间: 2023-07-23 18:39:52 浏览: 52
要让 socket.io 加入房间,可以通过调用 `socket.join(room)` 方法来实现。其中 `room` 是房间名,可以是任何字符串。
示例代码如下:
```javascript
const io = require('socket.io')(server);
io.on('connection', (socket) => {
console.log('a user connected');
// 加入房间
socket.join('room1');
socket.on('disconnect', () => {
console.log('user disconnected');
});
});
```
在上面的示例中,当有用户连接时,会将其加入名为 `room1` 的房间。如果要让该用户向房间内的其他用户发送消息,可以使用 `socket.to(room).emit()` 方法,其中 `room` 是房间名。
示例代码如下:
```javascript
const io = require('socket.io')(server);
io.on('connection', (socket) => {
console.log('a user connected');
// 加入房间
socket.join('room1');
// 向房间内的其他用户发送消息
socket.to('room1').emit('message', 'Hello, room!');
socket.on('disconnect', () => {
console.log('user disconnected');
});
});
```
在上面的示例中,当有用户连接时,会将其加入名为 `room1` 的房间。然后向房间内的其他用户发送一条消息。注意,使用 `socket.to(room).emit()` 方法时,不会向自己发送消息。如果要向自己发送消息,可以使用 `socket.emit()` 方法。