gpt4 book ai didi

javascript - 在 php 中,在 Node js 中获取值

转载 作者:搜寻专家 更新时间:2023-11-01 00:14:49 24 4
gpt4 key购买 nike

我有一个在 Node 中运行的 js 文件。此 js 文件读取来自蓝牙设备的数据。我还有一个在 apache 服务器中运行的 php 文件。这将显示一个网站界面。

现在,在 php 文件中,我想使用 js 文件中的数据。实现这一目标的可能方法是什么?

最佳答案

实现此目的的一种非常简单的方法是让您的 Node 应用程序充当网络服务器,并让您的 PHP 应用程序向您的 Node 网络服务器发出 HTTP 请求。在 Node 中:

function getBluetoothData(callback) {
// ... do some bluetooth related stuff here and build data
callback({ someSortOfData: 'fromBluetoothHere' });
}

// require express, a minimalistic web framework for nodejs
var express = require('express');
var app = express();

// create a web path /getdata which will return your BT data as JSON
app.get('/getdata', function (req, res) {
getBluetoothData(function(data) {
res.send(data);
});
});

// makes your node app listen to web requests on port 3000
var server = app.listen(3000);

现在您可以使用 PHP 检索此数据:

<?php

// perform HTTP request to your nodejs server to fetch your data
$raw_data = file_get_contents('http://nodeIP:3000/getdata');

// PHP just sees your data as a JSON string, so we'll decode it
$data = json_decode($raw_data, true);

// ... do stuff with your data
echo $data['someSortOfData']; // fromBluetoothHere

?>

另一种解决方案是使用消息传递系统。这本质上是一个队列,在 Node 中,当数据通过蓝牙可用时,您将在其中排队数据,并且您将尽可能从 PHP 中取出数据。该解决方案会涉及更多一些,但对于您的需求可能更加灵活/可扩展,并且有许多跨语言消息传递应用程序,例如 RabbitMQ .

关于javascript - 在 php 中,在 Node js 中获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29738938/

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