2

背景:我正在制作一个非常基本的多人在线游戏服务器,其中每个游戏都包含在它自己的房间中,并且它的游戏数据(包括它的房间名称)在 GAMES 数组中,我想在房间时从数组中删除游戏数据不复存在。

我希望有这样的东西

socket.io.rooms.on('disconnect', function(roomID){
 //PSEUDO CODE// 
 //delete GAMES.getby(gameID:roomID)//
});

否则,我计划循环遍历游戏数组,并在套接字断开连接并删除任何不一致时将房间名称与 io.sockets.manager.rooms 数据进行比较。但我确信必须有一个更优雅的解决方案。

4

1 回答 1

3

io.sockets.clients('room')将为您提供当前房间中的套接字列表,因此您可以执行以下操作:

if(io.sockets.clients('room').length > 1){
     //delete room logic here
 }

希望有帮助!

于 2012-11-16T07:31:19.283 回答