实时跟踪在线用户,以便进行双人测验

时间:2011-07-05 10:51:44

标签: real-time comet multiplayer

我愿意实时创建一个双人游戏测验游戏。为此,我需要跟踪用户何时进入我的测验页面以及何时离开。基本上,我需要一些大厅,玩家聚集在那里,我的脚本会从那里挑选两个在游戏中应该面对面的随机玩家。

由于很多玩家会在很短的时间内从在线切换到离线,我宁愿不使用经典的'更新播放器状态到数据库,然后在给定的时间间隔检索在线玩家列表'。目前,我正在研究使用Comet Push的想法,并且已经研究了一点PubNub。

实际的问答游戏我认为很容易解决:使用经典的Comet publish()发送答案和subscribe()来检查其他用户的状态。但困扰我的是如何获得在线用户的特定列表?

我试图在用户进入大厅时发布()user_id,但是当该用户下线时如何通知所有其他用户?如何在大厅中显示已连接用户的总数及其名称?

这是我第一次面对Comet,其逻辑对我来说并不完全清楚。

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

您可能想要试用Pusher和我们(我为Pusher工作)presence functionality。通过在线渠道,您可以轻松实现房间/大厅风格的功能,并且应符合您的标准。

  • 订阅
  • 时,您会收到订阅该频道的用户的初始列表
  • 每当用户订阅(进入)并取消订阅(离开)频道(房间/大厅)时,您都会收到通知

这样您就不需要自己实现此功能。这是Pusher提供的解决方案的一部分。