【问题标题】:Integrate Node.js with Symfony2 or PHP将 Node.js 与 Symfony2 或 PHP 集成
【发布时间】:2014-08-24 16:28:38
【问题描述】:

我正在使用 Symfony2 开发一个 Web 应用程序。我需要创建一个推送通知系统(如 Facebook)。当用户发布内容时,我需要其他一些用户收到通知。

我看到 Node.js 是最简单的方法。但是,我做了一些简单的示例,一切正常,但我不知道如何将此 node.js 应用程序与我的 Symfony2 应用程序或真正与 PHP 应用程序集成。

有人可以帮帮我吗?

提前致谢!

【问题讨论】:

    标签: javascript php node.js symfony push-notification


    【解决方案1】:

    请注意,您没有提供足够的详细信息,因此我将以前端开发人员而不是移动开发人员的身份进行回复

    集成 NodeJS 和 PHP(通常)不是一个好方法,因为您需要分别启动两个服务器,在您的应用程序使用 PHP 时在 JS 中创建 websocket 服务器,最后从您的 PHP 创建请求(GET 或 POST)给你的 JS 服务器。好吧,一团糟,所以我将在下面公开我的解决方案。

    快速洞察移动应用程序。嗯,从技术上讲,没有简单的方法。您可以将 Push“协议”(http://www.wikiwand.com/en/Push_technology) 与 NotificationPusher (https://github.com/Ph3nol/NotificationPusher) 一起使用。我以前没用过,所以帮不了你。

    一般。 大多数时候,当人们想到 Push 时,长轮询就可以解决问题。对于初学者来说,这意味着请求是在客户端发出的,并且服务器在有新数据之前不会发送数据并关闭连接。

    你如何实现这个?!? 基本上,您使用 ini_setset_time_limitmax_execution_time 更改为当前脚本的很长时间并启动一个循环(如 do.. while) 睡觉并检查您的数据。从您的 Javascript 中只需进行 Ajax 调用,例如使用 jquery:$.get。请记住删除超时并保持异步模式。

    此解决方案的唯一缺点是您将始终打开与服务器的连接,这会消耗更多移动设备的电池电量。如果您有多种类型的数据要接收,请不要犹豫合并调用并在您的响应数据中发布 type,因为大多数浏览器只允许 2 或 3 个同时连接到同一服务器。

    【讨论】:

      【解决方案2】:

      我听起来像你在描述 WebSockets。

      看看 Socket.io,它是 node.js 的一个模块。

      还有一个例子在 GitHub https://github.com/Automattic/socket.io/tree/master/examples/chat

      你感兴趣的文件应该是 index.js 和 public/main.js。

      你可以在http://socket.io/demos/chat/看到这个例子

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-08-11
        • 2011-01-12
        • 2017-03-02
        • 2015-08-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多