2011-07-05 38 views
1

我愿意实时创建双人测验游戏。为此,我需要跟踪用户在测验页面上以及何时离开测验页面。基本上,我需要某种类型的大厅,球员聚集在一起,我的脚本从哪里挑选两名应该在比赛中彼此面对面的随机球员。由于许多玩家会在很短的时间内从在线切换到离线,所以我更喜欢不使用经典的'更新玩家状态到数据库,然后在给定的时间间隔内检索在线玩家列表'。目前,我正在使用Comet Push的想法,并研究了一点PubNub。实时跟踪在线用户以玩双人测验

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

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

这是我第一次面对彗星,它的逻辑对我来说并不完全清楚。

谢谢你的帮助!

回答

1

你可能想试试Pusher和我们的(我为Pusher工作)presence functionality。在线频道让您轻松实现房间/大堂式功能,并且应该符合您的标准。

  • 你得到用户的初始列表订阅频道,当你订阅
  • 将通知您,每当用户订阅(输入)和退订(叶子)通道(室/大堂)

这种方式你不需要自己实现这个功能。这是Pusher提供的解决方案的一部分。

+0

感谢您的建议,但我宁愿自行开发解决方案或使用免费解决方案,因为我不想花钱购买此功能(这是个人项目)。 – linkyndy

+1

@linkyndy - 我已经在下一页列出了一大堆实时技术,包括一个自托管部分,所以希望它有一些用处:http://www.leggetter.co.uk/实时技术指南如果存在很重要,那么您可能需要考虑XMPP解决方案。不幸的是,我还没有确定哪个解决方案支持XMPP。 – leggetter

+0

谢谢你的帮助。我现在可能会坚持使用PubNub,因为我已经对如何使用它做了一些研究。 WebSockets看起来非常棒,我一定会尽可能快地使用它们,因为它们会得到广泛的支持。 – linkyndy