Php 实现推送通知系统的最佳方法

Php 实现推送通知系统的最佳方法,php,javascript,push,comet,Php,Javascript,Push,Comet,我们希望建立一个实时价格变化系统,以便能够看到竞争对手的价格与我们的产品价格之间的差异 我们没有通过Javascript和PHP使用推送通知/COMET系统的经验。如果你不介意的话,我想听听你对这项技术的经验和建议。下面是我的问题: 这样做的最佳方式是什么 我们是经验丰富的PHP开发人员,那么PHP是否适合此任务 如果您知道任何能够做到这一点的项目或解决方案(开源或商业),请与我们分享 以下是我们使用的方法。Javascript向PHP文件发送常规AJAX请求。PHP文件进行数据库查询,若发

我们希望建立一个实时价格变化系统,以便能够看到竞争对手的价格与我们的产品价格之间的差异

我们没有通过Javascript和PHP使用推送通知/COMET系统的经验。如果你不介意的话,我想听听你对这项技术的经验和建议。下面是我的问题:

  • 这样做的最佳方式是什么
  • 我们是经验丰富的PHP开发人员,那么PHP是否适合此任务
  • 如果您知道任何能够做到这一点的项目或解决方案(开源或商业),请与我们分享
  • 以下是我们使用的方法。Javascript向PHP文件发送常规AJAX请求。PHP文件进行数据库查询,若发现,只需休眠0.5秒(或1秒),然后再次进行数据库查询。若30秒过去了,但在数据库中仍然并没有发现任何新的内容(这是在HTTP超时发生之前提供输出所必需的),那个么它将输出一些内容(比如notingfind)。Javascript在收到上一个查询的输出后立即启动另一个查询。Javascript始终跟踪comet监视的数据库表的最后一个ID。这仅用于查询大于我们看到的最后一个ID的数据库行
  • 是的,PHP是合适的。记住一件重要的事在进入comet循环之前,您需要关闭所有打开的会话。PHP使用会话锁定来防止两个线程同时写入同一会话。若你们忘记关闭会话,所有其他线程都会被锁定(比如浏览网站是不可能的)
  • 我可以建议我们使用开源PHP框架。它叫。它有坚实的和生产就绪的Comet插件

  • 尝试使用socket.io,不需要从客户端向服务器发送请求来获取数据,在服务器端只需使用socket发送数据,客户端就可以获取数据。
    只需避免发出http通知请求,因为通知几乎是实时的。

    您是否正在寻找一种适用于所有浏览器(包括IE的旧版本)的解决方案,或者您可以使用最新技术的实际最佳方法?没关系,它可能是我们总部使用的任何浏览器。这是对AJAX轮询的一个很好的解释。但这不属于彗星保护伞,所以它不是彗星解决方案。