什么是在PHP中处理实时通知的最佳方法?

时间:2016-05-24 05:05:59

标签: php mysql node.js sockets

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

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

提前致谢。

3 个答案:

答案 0 :(得分:2)

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

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

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

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

答案 1 :(得分:0)

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

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

阅读以下链接可以帮助您:

Ajax vs Socket.io

答案 2 :(得分:0)

现在我们有两种可能的解决方案。 WebSockets和Comet。 WebSockets可能是最好的解决方案,但它们有两个市长问题:

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

因此我更喜欢使用彗星(至少现在)。它不如websockets好,但它很有效(即使在IE上)。 realtimenotifications more details 了解更多有关上述链接的信息。