Any class that extends System.IO.Stream
is some kind of cursor-based flow of data. The same happens when we want to see a video stream, a sort of locally not persisted data that flows only in the network with the ability to go forward and backward, stop, pause, resume, play, and so on. The same behavior is available while streaming any kind of data, thus, the Stream
class is the base class that exposes such behavior for any need.
There are specialized classes that extend Stream
, helping work with the streams of text data (StreamWriter
and StreamReader
), binary serialized data (BinaryReader
and BinaryWriter
), memory-based temporary byte containers (MemoryStream
), network-based streams (NetworkStream
), and many others.
Regarding reactive programming, we are dealing with the ability to source events from any stream regardless of its type (network, file, memory, and so on).
Real-world applications that use reactive programming based on streams are cheats, remote binary...