Object.keys(socket.server.sockets.sockets)是当前连接上 socket 的所有客户端的socket.Id
Object.keys(socket.server.sockets.connected)也是
Object.keys(socket.server.eio.clients)
socket.on(‘login’, (socket) => {
socketId = socket.id//当前连接的 socketId
})
socket.id 就是当前客户端的 socketId
1 | //发送给当前请求的客户端 |
//发送给socketid(客户端标识)指定客户端
1.0版本前使用下面
1
io.sockets.socket(socketid).emit('message', 'for your eyes only');
1.0版本后使用下面
1
io.sockets.connected[socket.id].emit('message','for your eyes only' );
加入房间
1
2
3
4
5socket.on('joinRoom', (data) => {
console.log(`joinRoom success`)
socket.join(`room${data.roomId}`);
// socket.in(`room${data.roomId}`).emit('userJoinRoom', `${data.userId} join in the Room${data.roomId}`);//发送给房内(包括自己)一个事件
})离开房间
1
2
3
4
5socket.on('leaveRoom', (data) => {
console.log(`leaveRoom success`)
socket.leave(`room${data.roomId}`);
// socket.to(`room${data.roomId}`).emit('userLeaveRoom', `${data.userId} leave in the Room${data.roomId}`)//发送给房内(不包括自己)一个事件
})