Gab*_*ray 7 javascript node.js socket.io
考虑多聊天应用程序.用户可以加入多个房间(socket.join(room)),用户可以离开房间(socket.leave(room)).
当插座离开房间时,我通知其他房间的参与者.如果套接字当前在3个房间,并且他突然断开网站而没有正确地离开房间,我怎么能通知那些用户已经离开的房间?
如果我使用on socket disconnect事件,用户将不再在任何房间.保持一个单独的用户数组的唯一方法,还是有一些我没想过的聪明方法?
在断开连接事件期间,套接字仍可供您的进程使用.例如,这应该工作
io.socket.on('connection', function(socket){
socket.on('disconnect', function() {
// this returns a list of all rooms this user is in
var rooms = io.sockets.manager.roomClients[socket.id];
for(var room in rooms) {
socket.leave(room);
}
});
});
Run Code Online (Sandbox Code Playgroud)
虽然这实际上并不是必需的,因为socket.io会在断开事件时自动修剪房间.但是,如果您要执行特定操作,则可以使用此方法.
| 归档时间: |
|
| 查看次数: |
5934 次 |
| 最近记录: |