Node.js服务器偶尔会挂起

时间:2017-04-22 23:30:42

标签: javascript node.js

我有这个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);
    });
}

0 个答案:

没有答案