【发布时间】:2012-03-07 22:44:35
【问题描述】:
所以我正在使用 node.js 开发(更多玩)实时游戏,我也在使用 Redis 和 Sockets.io。我让玩家创建一个大厅并加入它(有点像赛前聊天室,您可以在其中与玩家交谈并选择游戏设置)。客户端是用 HTML/CSS/JS 编写的,无论如何我希望能够知道玩家何时从大厅断开连接,以更新界面上加入的玩家数量(以及加入的玩家名称)。
我考虑过的两个选项是:
使用 redis 的键值超时功能,如果特定字段在 x 时间内未更新,则将其删除。然后我会让主机检查该字段的存在以检查 DC。我确实想知道这是否非常低效,因为可能会有很多用户在玩,所以在 redis 中有很多超时值并且还有很多其他用户轮询这些字段是不是很糟糕。
我可以使用 sockets.io on('disconnect', ..) 来更新该字段。但是我不确定如果用户的电脑死机,这个事件是否会触发?
无论如何我也愿意接受任何其他想法!
【问题讨论】: