javascript - 在没有 HTTP 的情况下将结构化数据从 PHP 发送到 Node.js?

标签 javascript php node.js

我在 CodeIgniter 框架中有一个 PHP 应用程序,在带有 MySQL 数据库的 Apache 服务器上运行。有很多数据库通信,都是通过抽象层完成的。它是一个游戏应用程序,当用户打开页面时,会使用 PHP 从 MySQL 获取包含一些附加信息的打开游戏列表并显示在页面上。现在,我需要对其进行设置,以便列表实时更新。为此,我需要一个 websockets 服务器,因为当我使用 Ajax 时,延迟太大,我决定使用 Node.js + sockets.io 来实现。我真的不需要每次都联系数据库,我可以根据客户端上的用户操作来更新列表。

这就是我陷入困境的地方 - 第一次使用 PHP 加载列表后,如何将其发送到 Node.js?我找到了一个解决方案,涉及为此目的发送 HTTP 请求,但这似乎是多余的,因为此时我已经在客户端上显示了所有数据。

下面是一些示例数据,在显示在页面上之前位于 PHP 数组中:

array(2) { [0]=> object(stdClass)#19 (6) { ["id"]=> string(1) "1" ["admin_id"]=> string(1) "2" ["start_date"]=> string(19) "2013-11-18 07:19:46" ["status"]=> string(1) "1" ["username"]=> string(15) "Marko Marković" ["option"]=> string(5) "start" } [1]=> object(stdClass)#20 (6) { ["id"]=> string(1) "2" ["admin_id"]=> string(1) "3" ["start_date"]=> string(19) "2013-11-18 07:20:32" ["status"]=> string(1) "1" ["username"]=> string(13) "Dzoni Noksvil" ["option"]=> string(5) "start" } } 

有没有办法可以在客户端将其打包,然后让 Node 从客户端获取数据,这样就不需要将数据从 PHP 直接发送到 Node?

最佳答案

如果您的所有域逻辑都存在于 PHP 中,并且您只想将最终数据集发送到 Node(或任何语言),我会考虑这样做: 使用Message Queue或消息代理。

您正在尝试执行此操作:

PHP
  |
Node.js

考虑一下:

PHP
 |
Message Queue
 |
Node.js

一旦两种语言之间有了通用接口(interface),沟通就会变得很容易。 PHP 可以将已完成的内容推送到队列中,而 Node.js 可以将其拾取以供使用。如果您决定走这条路,请用您的发现更新您的帖子,很想听听进展如何。

关于javascript - 在没有 HTTP 的情况下将结构化数据从 PHP 发送到 Node.js?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21097898/

相关文章:

php - 目标 ="_blank"继续下载图像而不是打开其他页面

php - mySQL 中音乐符号的字符编码

javascript - 找不到模块 '@babel/generator' 但已安装

javascript - Node 中的异步方法没有收到错误

node.js - Sequelize.js - 将项目添加到表中,连接到不同表中的用户

javascript - 在浮点图的 y 轴上使用标签而不是数字

javascript - 如何将以英尺为单位的坐标 (x, y) 转换为像素

php - 在终端中执行 php 脚本出现权限被拒绝错误

递归函数的Javascript settimeout?

javascript - 砖石图像加载不工作