3

我正在编写一个相当复杂的多节点代理,有一次我需要处理一个 HTTP 请求,但是在“http.Server”回调之外从该请求中读取(我需要从请求数据中读取并对其进行排列)在不同的时间有不同的反应)。问题是,流不再可读。下面是一些重现问题的简单代码。这是正常现象还是bug?

function startServer() {
    http.Server(function (req, res) {
        req.pause();

        checkRequestReadable(req);

        setTimeout(function() {
        checkRequestReadable(req);
        }, 1000);

        setTimeout(function() {
        res.end();
        }, 1100);
    }).listen(1337);
    console.log('Server running on port 1337');
}

function checkRequestReadable(req) {
    //The request is not readable here!
    console.log('Request writable? ' + req.readable);
}

startServer();
4

2 回答 2

2

它在 v0.8.22 中工作

server$ node http_test.js 
Server running on port 1337
Request writable? true
Request writable? true
Request writable? true
Request writable? true
^Cserver$ node -v
v0.8.22
server$ 
于 2013-04-05T09:44:55.080 回答
2

这适用于 0.8.0。我没有在 0.6.11+ 中尝试

于 2012-06-26T03:11:49.047 回答