Php 即时质询/通知系统

Php 即时质询/通知系统,php,ajax,long-polling,Php,Ajax,Long Polling,我的设置:目前正在运行一个带有Apache、PHP和MYSQL的专用服务器。 我的数据库已全部设置并正确存储了所有内容。我只是想弄清楚如何以一种有效的方式最好地展示生活中的事物 对于基于网络的游戏来说,这将是一个充满挑战的系统 用户A向用户B发送质询 用户B会立即收到警报,并且必须采取措施决定是否 接受还是拒绝 一旦用户B接受,他和用户A都会被带到特定页面 这是由DB提供的(没有什么特别的事情发生 页面,它们不需要同步或其他任何内容) 用户B的响应是简单的“是”或“否”,用户B没有设置其他参

我的设置:目前正在运行一个带有Apache、PHP和MYSQL的专用服务器。 我的数据库已全部设置并正确存储了所有内容。我只是想弄清楚如何以一种有效的方式最好地展示生活中的事物

对于基于网络的游戏来说,这将是一个充满挑战的系统

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

  • 用户B会立即收到警报,并且必须采取措施决定是否 接受还是拒绝

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

用户B的响应是简单的“是”或“否”,用户B没有设置其他参数,当用户a发送质询时,已经定义了它们要访问的页面

无论我为这个质询系统实现哪种配置,我都假设它也适用于即时站点范围的通知。唯一的区别是通知不需要用户B的即时响应

我读过长轮询技术、comet等。。但我仍在寻找实现这一目标的最佳方式的意见,并使其具有可扩展性


我愿意尝试任何东西,只要它能与我当前的PHP和MYSQL设置协同工作(或协同工作)。谢谢

您询问的是从服务器到客户端的通知。这可以通过让客户机频繁轮询更改,或者让服务器保持对客户机的开放访问并推动更改来实现。两者各有优缺点

编辑:更多信息

  • 拉法的优点:
    • 易于实现
    • 服务器对于谁获取数据可能相当幼稚
  • 拉法的缺点:
    • 无论轮询频率如何,客户端的资源密集型
    • 时间与资源灾难:更频繁的民意调查意味着更多的资源利用率。更少的资源利用率意味着更少的即时数据
  • 推送方式的优点:
    • 服务器在总体上有更多的控制权
    • 数据会立即发送到客户端
  • 推送方法的缺点:
    • 服务器端的资源可能非常密集
    • 您需要实现某种方式,让服务器知道如何访问每个客户机(例如,Apple使用设备UUID作为其客户端)

维基百科要说的(实际上是一些非常好的东西):。如果你倾向于推送模式,你可能想考虑将你的应用程序设置为

谢谢你解释不同的方法。你介意再看一下优点和缺点吗?当然可以。不过我要把它移到一个答案上来。