即时挑战/通知系统

时间:2011-07-22 17:04:19

标签: php ajax long-polling

我的设置:目前正在运行一个带有Apache,PHP,MYSQL的专用服务器。 我的数据库全部设置并正确存储所有内容。我只是想弄清楚如何以最有效的方式展示最好的东西。

对于基于网络的游戏来说,这将是一个真实具有挑战性的系统。

  • 用户A向用户B发送质询

  • 用户B立即收到提醒,必须对是否采取措施 接受或拒绝

  • 一旦用户B接受他并且用户A都被带到特定页面 这是由DB提供的(没有什么特别的事情发生在这上面 页面,他们不需要同步或任何事情)

来自用户B的响应是简单的是或否,用户B没有设置其他参数,当用户A发送质询时,他们将要定义的页面已经定义。

无论我为此挑战系统实施哪个配置,我都认为它也适用于即时网站范围的通知。唯一的区别是通知不需要用户B的即时响应。

我已经阅读了很长的民意调查技术,彗星等等。但我仍在寻找有关实现这一目标的最佳方法的意见,并使其具有可扩展性。

我愿意尝试任何东西,只要它能与我当前的PHP和MYSQL设置一起使用(或串联)。谢谢!

1 个答案:

答案 0 :(得分:1)

您询问从服务器到客户端的通知。这可以通过让客户端经常轮询更改,或让服务器保持对客户端的开放访问权限并推送更改来实现。两者都有其优点和缺点。

编辑:更多信息

  • 拉法优势:
    • 易于实施
    • 服务器对于谁获取数据非常天真
  • 拉法缺点:
    • 无论轮询频率如何,客户端资源密集
    • 时间与资源的崩溃:更频繁的民意调查意味着更多的资源利用率。资源利用率越低意味着即时数据越少。
  • 推送方法的优点:
    • 服务器具有更多控制权
    • 数据立即发送到客户端
  • 推送方法缺点:
    • 服务器端可能非常耗费资源
    • 您需要以某种方式让服务器知道如何联系每个客户端(例如,Apple为其APNS使用设备UUID)

维基百科有什么要说的(实际上有些非常好的东西):PullPush。如果您倾向于推送模型,则可能需要考虑将应用设置为Pushlet