php - Ajax 推送系统

标签 php ajax push

在我自己的系统中,我有一个 PHP 页面,它显示我通过网上商店销售的所有商品,从最近的交易到第一笔交易。

我希望这个页面在人们从我这里购买东西时自动更新。

我可以每 5 秒调用一次 AJAX 来检查我数据库中的订单,但这似乎是 1980 年的事情? 还是人们就是这样做的?

每当我的 php newOrder() 函数(让我们这样调用它)运行时,我如何才能推送通知到我的 php 页面叫什么?

最佳答案

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

参见:

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

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

资源:

如果您想研究替代方案或我上面提到的某些技术,我正在维护一个 list of realtime technologies您可能也感兴趣。

关于php - Ajax 推送系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7594425/

相关文章:

c++ - 将函数从 Hook 的 dll 复制到进程内存中

php - 将 $_session 和 session_start() 与 int 列一起使用

javascript - 形成多个复选框,限制可以选择的数量

javascript - 通过 jQuery 检索输入后触发 Parsley.js 验证错误

javascript - 如何使用 FormData 进行 AJAX 文件上传?

git - 如何在另一个存储库推送到远程后自动更新本地存储库?

javascript - 使用 nginx+pushstream 模块进行长轮询是否可能会丢失消息?

php - FPDF : FilterFlateDecode: invalid stream data 中的 FPDM 问题

javascript - PHP 使用 Ajax 调用

javascript - 如何将 html 作为字符串传递到另一个函数中循环?