【问题标题】:Html5 websockets ideal platform for php developmentHtml5 websockets php开发的理想平台
【发布时间】:2012-03-06 19:34:11
【问题描述】:

我们正计划构建一个提供实时数据更新和显示的大型 Web 应用程序(例如股票市场)。需要有效的服务器-客户端双向通信。经过研究 html5 web-sockets 似乎是必须的。但是,在兼容性和回退以及服务器支持方面存在一些问题。我们需要一个简单稳定的php优选和apache集成解决方案。我们用 phpwebsockets 和 pywebsockets 做了一些测试,但它们似乎不太稳定。作为更稳定的测试解决方案,您会提出什么建议,比如 kaazing,但在 php 中?提前谢谢你。

【问题讨论】:

    标签: php html websocket platform fallback


    【解决方案1】:

    Nodejs 有两个原因:

    1:您可以在客户端和服务器上使用相同的语言,从而更多的代码重用。

    2:内置的事件循环使 JavaScript 非常适合那些“做一点工作,然后休眠 20 秒”的情况。

    你必须喜欢 javascript 才能在服务器上使用它。

    【讨论】:

      【解决方案2】:
      【解决方案3】:

      我可能会选择 Node.js。虽然我喜欢 javascript,但我并没有喝醉 Node.js 的酷助手。 (公平警告……)

      但是 Node.js 允许您使用 Socket.io - 这就是您希望使用它来使您的实时通信在“所有”系统上无缝工作。 PHP 和 Node.js 之间的通信可以通过套接字、数据库或其他一些疯狂的东西来处理。

      【讨论】:

      • 我也更喜欢nodejs,但他需要一些容易兼容php和apache的东西。或许也可以运行一个节点服务器,为他的项目增加如此多的复杂性
      • 作为一名 PHP 开发人员,我觉得有义务交流:use the right tool for the job。 PHP 不是适合这项工作的工具。 (不是说 Node.js 也是,但与 PHP 相比,它更适合 Socket.io)
      • 除此之外,我可能会建议你正确地用 Erlang 写一些东西。 (是的,这是拖钓,根本没有帮助。但为此,PHP 本身就像是在滥用螺丝刀作为锤子)
      • 我在生产中看到的 comet+PHP 应用比 nodejs+socket.io 应用更多。我认为 Nodejs 和 socket.io 太“年轻”(
      • 我选择退出此讨论。开始感觉“Windows 是最好的操作系统,因为有 1234234234 人在使用它”。
      【解决方案4】:

      WebSockets 没有得到很好的支持,而且没有稳定的 php 实现。

      您是否考虑过使用长轮询/COMET?它适用于所有浏览器。

      【讨论】:

      • 有了web-socket-js polyfill/fallback,WebSockets 几乎可以在所有的浏览器上使用(只要你的服务器也支持 iOS 的 Hixie-76 协议)。
      【解决方案5】:

      您要使用的是Socket.IO,它负责处理所有跨浏览器问题并为旧版浏览器提供无缝回退。 Socket.IO 被设计为与 Node.js 一起使用,但现在可以与多个 different server-side languages 一起使用。

      但是,我不建议将 Web Sockets 与 PHP 一起使用。因为 PHP 不是为长时间运行的双向通信而设计的,并且会导致整个 Apache 进程/线程锁定每个新连接。

      我强烈建议在服务器端使用像 Node.js 这样的语言,它可以轻松处理数千个长时间运行的连接而不会出现任何问题。

      【讨论】:

        猜你喜欢
        • 2015-04-10
        • 2015-05-28
        • 1970-01-01
        • 2010-11-29
        • 2013-06-09
        • 2018-08-30
        • 2013-12-27
        • 1970-01-01
        相关资源
        最近更新 更多