私はここのチュートリアルに従うことをしようとしている:Response.writeがブラウザをNode.jsでブロックするように見えるのはなぜですか?
http://nodetuts.com/tutorials/2-webtail-nodejs-child-processes-and-http-chunked-encoding.html#video
ブラウザはTEMP.TXTへの更新を受信しませんが、次のコードは、
var http = require('http');
var spawn = require('child_process').spawn;
http.createServer(
function (request, response) {
response.writeHead(200, {
'Content-Type':'text/plain'
});
var tail_child = spawn('tail', ['-f', 'temp.txt']);
request.connection.on('end', function() {
tail_child.kill();
});
tail_child.stdout.on('data', function (data) {
console.log(data.toString());
response.end(data.toString());
});
}).listen(9000);
に動作します。私は
response.write(data.toString());
で
response.end(data.toString());
を交換した場合ブロックするように表示され、何もブラウザに表示されていません。
編集:チャンク:私は継続的にあなたが転送エンコーディングをテストする代わりに、カール使用してみてくださいチュートリアル
私は – deltanovember
を明確にするために編集しました。あなたが決して 'response.end()'を呼び出さないと、応答は送信されないので、そうです。 –
チュートリアルではresponse.end()はまだありませんが、新しい添付ファイルはブラウザに 'ストリーム'として表示されます – deltanovember