Sie sind hier

Streaming

Eintrag zuletzt aktualisiert am: 11.09.2026

Streaming bezeichnet ganz allgemein die fortlaufende Übertragung und Verarbeitung von Daten. Sender und Empfänger arbeiten dabei gleichzeitig: Daten werden in kleinen Teilen geliefert, sobald sie vorhanden sind. Es muss nicht erst der gesamte Datenbestand vorliegen.

Beispiele:

Video/Audio : Wiedergabe beginnt, obwohl die gesamte Datei noch nicht geladen ist
Dateiübertragung: Download wird blockweise empfangen und direkt gespeichert
Netzwerk: Daten werden über einen kontinuierlichen Byte-Strom transportiert
Datenbanken: Ein DataReader liefert Datensätze einzeln statt alle in eine Liste zu laden
Web : Server sendet fortlaufend Teile einer HTTP-Antwort, z. B. SSE
Verarbeitung: Große CSV-Datei wird Zeile für Zeile gelesen statt komplett in den Speicher geladen

Der wesentliche Vorteil ist ein geringerer Speicherbedarf und ein früherer Beginn der Verarbeitung oder Anzeige.

Streaming in .NET (Auswahl):

Beispiel

Eine 10-GB-Datei sollte nicht vollständig in einen byte[] geladen werden:

await using var source = File.OpenRead("input.zip");
await using var target = File.Create("copy.zip");

await source.CopyToAsync(target);

CopyToAsync() liest und schreibt den Inhalt fortlaufend in Blöcken. Die vollständigen 10 GB müssen nicht gleichzeitig im Arbeitsspeicher liegen.

Ein Gegenbeispiel wäre:

byte[] allBytes = await File.ReadAllBytesAsync("input.zip");

Hier wird zunächst die komplette Datei in den Arbeitsspeicher geladen.