3

かなり複雑なマルチノードプロキシを作成しています。ある時点でHTTPリクエストを処理する必要がありますが、「http.Server」コールバックの外部でそのリクエストから読み取ります(リクエストデータから読み取り、それを並べる必要があります)別の時間に別の応答でアップ)。問題は、ストリームが読み取れなくなったことです。以下は、問題を再現するための簡単なコードです。これは正常ですか、それともバグですか?

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

これは0.8.0の時点で機能します。0.6.11+では試していません

于 2012-06-26T03:11:49.047 に答える
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 に答える