私はブラウザに5つのjpegを送信しています。(実際には、以下のコードはもっとエレガントかもしれませんが、アイデアを示すためのものです)
im[0] = fs.readFileSync("banner1.jpg");
im[1] = fs.readFileSync("banner2.jpg");
im[2] = fs.readFileSync("banner3.jpg");
im[3] = fs.readFileSync("banner4.jpg");
im[4] = fs.readFileSync("banner5.jpg");
app.get("/image", function(req,res){
res.setHeader('Content-type', 'multipart/x-mixed-replace; boundary=--myboundary');
res.write("Content-Type: image/jpeg\r\n\r\n");
res.write(im[0]);
res.write("\r\n--myboundary\r\n");
var time = 1000;
setTimeout(function(){
res.write("Content-Type: image/jpeg\r\n\r\n");
res.write(im[1]);
res.write("\r\n--myboundary\r\n");
},time*1);
setTimeout(function(){
res.write("Content-Type: image/jpeg\r\n\r\n");
res.write(im[2]);
res.write("\r\n--myboundary\r\n");
},time*2);
setTimeout(function(){
res.write("Content-Type: image/jpeg\r\n\r\n");
res.write(im[3]);
res.write("\r\n--myboundary\r\n");
},time*3);
setTimeout(function(){
res.write("Content-Type: image/jpeg\r\n\r\n");
res.write(im[4]);
res.write("\r\n--myboundary\r\n");
res.end();
},time*4);
});
しかし、問題はim[3]
、時間を変更しても表示されないことです。それで、何が問題なのですか?Chrome はデータまたは NodeJS をバッファリングしていますか?