Node.js + Socket.io 如何从 PHP 接收数据
How Node.js + Socket.io receive data from PHP
我有一个小项目,允许用户上传实时数据。由于我是一名PHP开发人员,我发现很难使用Node.js和 Socket.io。我所做的是,我使用 PHP 作为我的应用程序的主要后端。它是将从用户接收数据并将其保存到数据库的人。用户提交数据后,PHP 会将数据发送到节点.js应用程序,该应用程序将通过 socket.io 向所有连接的用户发送。但是我该怎么做呢?我的意思是节点将如何.js没有新数据?我希望PHP将数据(通过POST)发送到Nodejs,然后 socket.io 会广播它。
我找不到任何工作示例。顺便说一句,PHP 将发送到 Node.js 的数据将以 JSON 形式出现。有人在这里问:NodeJS从PHP服务器接收数据,但我无法理解它是如何工作的。
一个简单的 Node.js 应用程序,它创建了一个 REST api,您可以将 JSON 发布到:
应用.js:
var express = require('express');
var bodyParser = require('body-parser');
var app = express();
app.use(bodyParser.urlencoded({ extended: true}));
app.use(bodyParser.json());
app.use(bodyParser.json({type: 'application/vnd.api+json'}));
var router = express.Router();
function dataHandler(req, res) {
// the 'body' variable will contain the json you've POSTed:
var body = req.body;
// your socket.io logic would go around here.
console.log(body.message);
res.send("ok");
}
router.route('/receive')
.post(dataHandler);
app.use('/api', router);
app.listen(3000, function() {
console.log('Express started at port 3000');
});
package.json:
{
"name": "node-test",
"descirption": "Node test",
"version": "0.0.1",
"private": true,
"dependencies": {
"body-parser": "^1.10.0",
"express": "^4.4.3"
}
}
要使其正常工作,请按照以下步骤操作(假设您在此处安装了 Node):
- 创建一个新目录,并在其中创建上述两个文件
- 运行
npm install
。 这将读取package.json
并安装所需的依赖项 - 运行
node app.js
使用 POST
http://localhost:3000/api/receive
以下 JSON 消息发送到 URL:{ "消息": "你好世界"}
检查运行node app.js
的控制台输出。 它应该记录"Hello world"消息。
您正在创建的是一个简单的 REST API。要了解有关如何使用 Node 执行 REST API 的更多信息.js并了解我发布的示例应用程序中发生了什么,您可以谷歌"Node.js rest api 教程"。您通常必须挑选您阅读的内容,因为一些教程将解释如何设置数据库等。下面是一个介绍上面示例中大部分操作的内容。
- 如何使用Jquery一步一步地获取PHP数据
- 过滤包含一些文本的 PHP 数据表
- Ajax 使用函数每秒获取一次 php 数据
- Ajax表单不返回PHP数据
- AJAX和PHP数据传输不起作用
- AJAX:将PHP数据存储在Javascript变量中
- 可以通过更改下拉菜单中的选项来发送/接收PHP数据
- Ajax 模态窗口可以访问父窗口 PHP 数据吗?
- 如何在 JavaScript 变量中获取 PHP 数据
- ajax 调用 PHP 数据返回 VM92:1 未捕获语法错误:意外的标记 {.
- Javascript - 自动从数据库加载php数据
- 将 PHP 数据从mysql_fetch_array保存为脚本变量
- 将 php 数据表导出为 pdf 版本
- 将 PHP 数据发送到 JavaScript 单击事件
- 将PHP数据返回到我当前的网页,供Javascript访问
- 带有 PHP 数据闪烁更新的 Ajax
- 将引导模式与动态 PHP 数据重用
- 将 php 数据输出到 jquery 数组中
- 按日期更改 PHP 数据表中的行颜色
- 如何将会话 php 数据从 PHP 传输到 JS