当前位置: 首页 > 面试题库 >

Ajax推送系统

夔高寒
2023-03-14
问题内容

在我自己的系统中,我有一个PHP页面,显示从网上交易到最新交易的所有商品。

每当有人从我这里买东西时,我希望此页面自动更新。

我可以AJAX5 秒钟打一次电话来检查数据库中的订单,但这似乎是1980年?还是人们这样做的方式?

每当我的php newOrder() 函数( 让其 调用)被调用时,如何 通知 送到php页面? __


问题答案:

您可以在PHP中实现推送,但是它并不是最有效的解决方案,因为要实现推送,您需要在客户端和服务器之间维持长期运行的连接(HTTP或WebSocket连接)。

看到:

  • Long Polling/HTTP Streaming General Questions
  • phpwebsocket
  • php-websocket on github
  • Ratchet
  • how to implement comet in PHP - frequently linked to guide

构建实时基础架构时,一般的最佳实践是将推送解决方案与Web应用程序分离(
注意:node.js和socket.io对此做了些改动,但我个人仍然认为应该将其分离
)。但是,假设后者仍然是最好的解决方案,则需要编写/托管/安装此推送解决方案。解耦还意味着该技术不必是PHP,但您 可以
从PHP访问/使用它。也许有点矫kill过正?尤其是如果您的网站上没有 太多 用户?


为简单起见,我建议您考虑使用第三方托管服务。我在一家名为Pusher的公司工作。使用我们的服务,使您无需安装和维护应用程序实时部分。它还使添加所需功能变得非常容易。您所需要做的就是在现有应用程序中添加几行PHP代码以触发推送通知,并在前端中添加几行JavaScript。

资源:

  • 为此,最常用的PHP库是:https : //github.com/pusher/pusher-php-server
  • 快速入门指南

如果您想研究上面提到的替代技术或某些技术,我会列出您可能也感兴趣的实时技术。



 类似资料:
  • 问题内容: 我正在创建一个需要 实时 通知系统的Web应用程序。我将如何设置服务器从mySQL数据库中提取数据,然后将其推送到浏览器。我完全 不 知道该怎么做。如果有人可以帮助,将不胜感激!非常感谢! 编辑:我可能应该更具体一些,我正在像在XYZ中最近创建一个帐户,在XZY中最近提取数据…非常感谢! 问题答案: 您无法将数据推送到浏览器,但是您可以做的是将网页设置为每隔几秒钟轮询一次服务器以获取更

  • 从A系统查询条码,然后推送给B系统的数据库; 网络不稳定,经常断电,而且推送的非常频繁; 这种情况如何避免重复推送? 有可能推送成功了,但是没来得及修改A数据库的状态,导致来电的时候再推送一次

  • 一、基础配置 第一步:创建个推账号 如没有个推账号,需要创建个推推送账号及应用,获得AppID、AppKey和Master Secret 参数。如下图所示: 第二步:在智能触达中配置个推账号 在诸葛「智能触达→设置→触达渠道→推送消息」中,找到「个推推送」,填入上一步中得到的AppKey和Master Secret参数并完成开通。 第三步:确认SDK中添加推送逻辑代码 按照个推最新的开发文档集成时

  • 我试图找到一种不同的方法来将给定的模型及其关系保存/更新到数据库中。 基本上,我有一个“作者”页面的表单,可以添加多个“书籍”。自然,“作者”和“书籍”模型有一对多的关系。 根据laravel官方教程,您必须: 将所有输入数据添加到"作者"模型 创建并保存作者模型到DB 对于每个"Book"输入数据 创建并保存每个书模型到DB使用$作者- Laravel还指出,“有时你可能不仅希望保存一个模型,还

  • 背景与挖掘目标 随着互联网的快速发展,用户很难快速从海量信息中寻找到自己感兴趣的信息。因此诞生了:搜索引擎+推荐系统 本章节-推荐系统: 帮助用户发现其感兴趣和可能感兴趣的信息。 让网站价值信息脱颖而出,得到广大用户的认可。 提高用户对网站的忠诚度和关注度,建立稳固用户群体。 分析方法与过程 本案例的目标是对用户进行推荐,即以一定的方式将用户与物品(本次指网页)之间建立联系。 由于用户访问网站的数

  • 我正在使用Firebase云消息为Android做推送通知,一切都很顺利,但我在想系统托盘的图标颜色是怎么回事。它正在被变成一个灰度图像,而不是保持它原来的颜色。我可以用方法为它着色,但我希望图标不会失去它的颜色,这可能吗?我已经尝试使用各种不同的图像,有自己的大小,透明/非透明,白色背景等,基于一些帖子,我可以找到。我似乎找不到关于这里实际发生的事情的答案。我的编译/目标sdk目前是26。我在模