Branching from the project of mine from old question.
我试图用Express编写NodeJS来读取端口9999
上的ip地址值,并且Internet来自我自己计算机的wifi热点共享,所以我编写了这样的代码。
var express = require('express');
var bodyParser = require('body-parser');
var app = express();
var cors = require('cors');
var dateToday = new Date();
var yearToday = dateToday.getFullYear();
var sensor_name = "living-room";
var hist_temperature_file_path = "sensor-values/temperature_" + sensor_name + "_log_" + yearToday.toString() + ".csv";
var latest_temperature_file_path = "sensor-values/temperature_" + sensor_name + "_latest_value.csv";
var hist_humidity_file_path = "sensor-values/humidity_" + sensor_name + "_log_" + yearToday.toString() + ".csv";
var latest_humidity_file_path = "sensor-values/humidity_" + sensor_name + "_latest_value.csv";
var csv_header_temperature = "timestamp,temperature_in_celsius\n";
var csv_header_humidity = "timestamp,relative_humidity\n";
var sec_between_log_entries = 60;
var latest_humidity = 0.0;
var latest_temperature = 0.0;
var latest_value_datetime;
var dateTime = new Date().toISOString().replace('T', ' ').substr(0, 19);
const fetch = require('node-fetch');
var ipAddress;
app.use(cors());
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: true}));
/*app.use(function (req, res) {
res.setHeader('Content-Type', 'application/json');
})*/
app.set('port', (process.env.PORT || 9999));
//app.set('trust proxy', true)
/*app.get('/temperature_humidity', function (req, res) {
console.log('test1')
latest_temperature = req.body.temperature;
latest_humidity = req.body.humidity;
console.log(latest_temperature)
console.log(latest_temperature)
res.send('success : ' + req.body.temperature + ',' + req.body.humidity)
})*/
app.get('/', function (req, res) {
ipAddress = req.ip;
console.log(req.ip);
})
fetch('http://' + ipAddress + '/temperature_humidity')
.then(response => response.json())
.then(data => {
console.log(data);
})
app.listen(app.get('port'), function () {
console.log('run at port', app.get('port'));
})
但是,当我使用方法app.get
或app.post
运行代码时,服务器端未在日志中显示任何请求或响应,表明没有请求发送到服务器。但是NodeJS的终端仍然显示run at port 9999
,没有其他app.
日志显示
您能告诉我如何解决此问题吗?
P.S。 fetch
部分的原因实际上是由于我无法使用get/post
的原因,所以我暂时将fetch
和固定IP地址用作占位符。
编辑:这是我首先要用于获取价值的代码,但它不显示正在发送请求或正在接收价值。
app.get('/temperature_humidity', function (req, res) {
console.log('test1')
latest_temperature = req.body.temperature;
latest_humidity = req.body.humidity;
console.log(latest_temperature)
console.log(latest_temperature)
res.send('success : ' + req.body.temperature + ',' + req.body.humidity)
})