我有这个node.js服务器。问题是有时我注意到它卡住了。这是客户端可以发出请求,但是服务器没有响应,而是它没有结束响应,它只是卡在服务器端。如果我在http请求中查看客户端开发工具,它有一个灰色圆圈图标,意味着等待服务器响应。即使我等了10分钟,也没有任何反应。
服务器端还会在请求中向控制台写入内容,但在卡住时不会发生这种情况。 在node.js控制台上,如果我在卡住的时候再按ctrl + c,我会突然看到所有的console.log消息都出现在控制台上,同时,dev工具会收到来自的所有响应服务器端,即灰色圆圈变为绿色。
有谁知道这个问题是什么?
由于
var express = require('express');
var https = require("https");
var fse = require("fs-extra");
var bodyParser = require('body-parser');
// INFO
var root = __dirname + '/public';
setUpServer();
// SET UP SERVER
function setUpServer() {
var app = express();
app.use(express.static(root));
app.use(bodyParser.urlencoded({ extended: false }))
app.get('/', function (req, res) {
var dest = 'index.html';
res.sendFile(dest, { root: root + "/pong" });
});
app.post('/get_brain', function (req, res) {
res.end("1");
console.log('Sent master brain to a client!');
});
app.post('/train_and_get_brain', function (req, res) {
res.end("1");
console.log('Sent master brain to a client!');
});
var privateKey = fse.readFileSync('sslcert/key.pem', 'utf8');
var certificate = fse.readFileSync('sslcert/cert.pem', 'utf8');
var credentials = {key: privateKey, cert: certificate};
var httpsServer = https.createServer(credentials, app);
httpsServer.listen(process.env.PORT || 3000, function () {
var host = httpsServer.address().address;
var port = httpsServer.address().port;
console.log('AI started at https://%s:%s', host, port);
});
}