【问题标题】:PHP realtime notifications (pusher?)PHP 实时通知(推送器?)
【发布时间】:2012-07-10 15:45:51
【问题描述】:

假设我有一个应用程序,客户可以在其中进行某种类型的预订,然后我有一个管理界面来管理这些传入的客户预订。

如何在不刷新的情况下将新预订推送到管理界面。类似于 Facebook 向您推送新通知的方式。

然而,我查看了 AJAX,据我了解,这只能通过调用数据来工作,这可以通过设置一个间隔(例如每 5 秒)来完成。这似乎并不理想,因为即使没有可用的新数据,该功能也会运行,浪费带宽并危及性能。

我正在寻找一种让服务器在每次客户进行新预订时将预订数据传递到管理界面的方法。

我查看了一个名为 pusher 的应用程序,但我真的不知道这将如何与 PHP -codeinigter 之类的东西一起使用,以及如何实现它?

有没有人知道我正在谈论的这种系统的任何信息

谢谢

【问题讨论】:

  • 您可能想要查看APEPusher-PHP 之类的内容
  • 您可以轻松地使用 Node.js 在 PHP 中创建实时应用程序。 source

标签: php codeigniter real-time pusher


【解决方案1】:

查看http://pusher.com/,我最近也在研究实时更新,一个明显的解决方案是“反向 Ajax”。

这涉及到另一位用户提到的一种长轮询形式,保持与服务器的连接打开并直接传递数据。

Pusher 提供多种语言的多个后端库和一个用于将 json 字符串传递给用户的 javascript 接口。

如果您有兴趣在不使用推送器等服务的情况下在内部运行它,请查看http://www.ape-project.org/ 以设置您自己的推送服务器(基于 Comet Server)

我不会多说,因为上面的链接解释得更优雅!

【讨论】:

  • PHP 的 Pusher 客户端很旧,需要更新。它自 2013 年 11 月以来一直没有工作。截至 2014 年 4 月,Pusher 仍然链接到损坏的 PHP 客户端。 Pusher 支持花了 3 天的时间向我确认客户已损坏,他们不会支持它。您可以通过 Gearman 或 Beanstalk 来完成此操作,具体取决于管理界面的设计。
【解决方案2】:

您可能想查看 html5“Websockets”或“Long polling”(适用于旧浏览器)。

【讨论】:

    【解决方案3】:

    我不会因为想在这里变得花哨而伤脑筋。

    如果带宽是一个问题,我建议有一个发送回时间戳的辅助页面。并且您的管理界面每 5 秒检查一次时间戳,如果时间戳已更改,则它会再次使用 ajax 请求更改或要替换的新数据。如此微小的请求,带宽并不明显。顺便说一句,fb 每隔几秒钟也会进行一次简单的 ajax 轮询。

    【讨论】:

      猜你喜欢
      • 2018-01-23
      • 1970-01-01
      • 2016-02-27
      • 2011-07-14
      • 2019-01-11
      • 1970-01-01
      • 2015-08-19
      • 2013-03-05
      相关资源
      最近更新 更多