【发布时间】:2016-08-22 09:01:44
【问题描述】:
我正在尝试在 readstream.write 之间设置超时,但我不断收到错误:结束后写入。如何在 res.write 之间设置超时。谢谢你。这是我的代码。
app.get('/video', function (req, res) {
var readStream = fs.createReadStream('video.mjpeg');
res.writeHead(200, {'Content-Type': 'multipart/x-mixed- replace;boundary=ThisString'});
readStream.on("data", (chunk) => {
res.write(chunk, 'binary');
setTimeout(function () {
res.write('ThisString');
}, 200);
console.log("Writing to client");
});
readStream.on("end", () => {
readStream.destroy();
res.end();
console.log("End of data");
});
});
我正在尝试在客户端显示视频,问题是 mjpeg 被快速读取,因此无法创建视频。任何帮助将不胜感激。
【问题讨论】:
-
是不是因为200ms前调用结束?
-
也许您可以将它们推送到一个队列中,该队列设置两次执行之间的最小间隔?我真的不明白这里的意思。
-
如何在响应中添加延迟才能使其正常工作?
标签: node.js file response mjpeg