Ich versuche, ein Timeout zwischen readstream.write zu setzen, aber ich bekomme immer Fehler: Schreiben nach dem Ende. Wie kann ich ein Timeout zwischen res.write setzen. Vielen Dank. Hier ist mein Code.nodejs Zeitüberschreitung bei Datenantwort einstellen
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");
});
});
Ich versuche, das Video auf der Client-Seite angezeigt wird, ist das Problem, dass der mjpeg schnell so gelesen wird das Video nicht erstellen kann. Jede Hilfe wird geschätzt.
Ist es, weil das Ende Anruf vor den 200ms ist? –
Vielleicht können Sie sie in eine Warteschlange schieben, die ein minimales Intervall zwischen zwei Ausführungen festlegen? Ich verstehe das hier nicht wirklich. –
Wie fügt man der Antwort eine Verzögerung hinzu, damit sie funktioniert? – Matt