所以我正在开发(更多玩耍)node.js中的实时游戏,我也在使用Redis和Sockets.io。我有球员创建一个大厅并加入它(有点像游戏前的聊天室,在那里你可以与玩家交谈并选择游戏设置)。客户端是用HTML/CSS/JS编写的,无论如何,我希望能够告诉玩家何时从大厅断开连接,以更新在界面上加入的玩家数量(以及加入的玩家名字)。我曾经想过跟踪哪些用户在nodejs中联机的最佳方式是什么?
两个选项:
使用Redis的键值超时功能,删除特定的领域,如果它不是在时间量X更新。然后我会让主人检查这个字段的存在以检查DC。我想知道这是否效率非常低,因为许多用户可能会玩,所以在redis中有很多超时值以及许多其他用户轮询这些字段会很糟糕。
我可以使用('disconnect',..)上的sockets.io来更新该字段。但是我不确定这个事件是否会触发,例如用户电脑死机?
无论如何,我也打开任何其他的想法也!
对,这意味着,即使此刻,'脱节'事件也能够被解雇吗? (即使它必须等待15秒/无论配置多少时间) – 2012-03-08 01:23:59