【问题标题】:what is the best way to handle real time notification in php? [closed]在 php 中处理实时通知的最佳方法是什么? [关闭]
【发布时间】:2016-05-24 05:05:59
【问题描述】:

我想在 Facebook 中实现实时通知。根据服务器加载时间和编码效率,可能会为不同的用户发送大量通知。哪种方法最好?

 1. using normal AJAX?
 2. with node.js and socket programming?
 3. something else?

提前致谢。

【问题讨论】:

  • 2. node.js 和套接字编程

标签: php mysql node.js sockets


【解决方案1】:

选择合适的平台很大程度上取决于您当前的架构、知识和预算。

您的问题表明它是基于网络的,对此只有两个基本选项:

  • WebSocket:存在许多 WebSocket 服务器解决方案,包括编译的可执行文件、基于 PHP 和 Node.js。这种方法越来越受欢迎,但不一定适用于每个预算,因为它通常需要一个完整的服务器才能运行。对于需要大量同时连接的系统而言,VPS 限制通常太重要了。
  • AJAX:使用 AJAX 及其变体仍然是一种非常流行的解决方案,如果实施得当,它可以几乎与 WebSocket 一样高效,而无需持续保持连接。延迟一秒通常并不重要,而 Facebook 聊天通常比这慢得多。

对于非基于网络的解决方案,一切皆有可能。如果您开发一个客户端-服务器应用程序,您可以拥有类似于 WebSocket 的实时连接,这更容易维护。

【讨论】:

    【解决方案2】:

    Ajax 请求不是实时的,但您可以设置超时并在这种情况下工作。 但是 ajax 请求会占用您的服务器并尝试连接多个连接。这很简单!

    如果你使用套接字会更好,但你需要更多时间来开发它。

    阅读下面的链接可以帮助你:

    Ajax vs Socket.io

    【讨论】:

      【解决方案3】:

      现在我们有两种可能的解决方案。 WebSockets 和彗星。 WebSockets 可能是最好的解决方案,但它们有两个主要问题:

      Not all browsers support them.
      Not all proxy servers allows the communications with websokets.
      

      因此,我更喜欢使用彗星(至少现在是这样)。它不如 websockets 好,但它工作起来非常简单(即使在 IE 上)。 realtimenotifications more details 要了解更多信息请参考以上链接。

      【讨论】:

        猜你喜欢
        • 2015-01-19
        • 1970-01-01
        • 2014-03-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-07-12
        • 2012-03-05
        • 2012-08-25
        相关资源
        最近更新 更多