gpt4 book ai didi

javascript - 将 Node.js 与 Symfony2 或 PHP 集成

转载 作者:搜寻专家 更新时间:2023-10-31 21:09:22 25 4
gpt4 key购买 nike

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

我看到 Node.js 是执行此操作的最简单方式。但是,我做了一些简单的示例并且一切正常,但我不知道如何将这个 node.js 应用程序与我的 Symfony2 应用程序或 PHP 应用程序集成。

谁能帮帮我?

提前致谢!

最佳答案

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

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

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

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

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

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

关于javascript - 将 Node.js 与 Symfony2 或 PHP 集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24555551/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com