Le concept de «flux» est simplement une séquence d'octets encapsulés par une classe qui suit la longueur, la position actuelle, le nombre d'objets ou d'octets sur le flux, etc. Dans le flot d'objets (ou octets, etc ...)
Donc la "construction" sous-jacente, comme vous l'avez dit, est simplement un tableau d'octets (ou un fichier sur le disque ou des pointeurs vers des classes, des structures ou même des entiers types) qui "sert" les objets dessus en fonction de l'encapsulation des flux. Imaginez que j'ai 10 canards en caoutchouc et que je suis à côté d'un vrai courant d'eau. Je place un canard dans le ruisseau et il commence à flotter en aval. J'ai maintenant 1 canard sur le courant. Je place un autre canard dans le ruisseau et il commence à flotter en aval. J'ai maintenant 2 canards dans le courant. Cela continue jusqu'à ce que ... vous manquez de mémoire. Maintenant, je cours en aval et attrape les deuxièmes canards de l'eau (cherchant). Il y a maintenant 9 canards dans le flux et je suis à la position 2 ...
Ainsi, la diffusion d'un objet diffère de la placer dans un tableau ou une liste en ce sens qu'il peut être "exploité" par la classe de flux d'encapsulation . Ce qui est sûr à propos de la diffusion en continu, c'est que vous pouvez créer différents flux au-dessus d'autres flux permettant un certain niveau d'abstraction. Par exemple, dans .NET, je peux créer un StreamWriter au-dessus d'un FileStream qui me permet d'écrire des chaînes dans le flux de fichiers sans avoir à les convertir manuellement en tableaux d'octets.
Espérons que cela aide. N'hésitez pas à corriger ou ajouter ce qui est nécessaire. Je ne prétends pas être un expert.
(BTW, il n'y a pas besoin d'être obtus et prétendre "trop général", "je ne comprends pas" etc ... Soyons un peu plus compréhensifs et courtois, descendez de nos chaires et expliquer les choses dans de façon raisonnable)
La question est trop large. Puisque "flux" est un concept, il peut avoir de nombreuses représentations et implémentations, il est donc impossible de dire en général comment ils "travaillent en interne". –
@Pavel - Il n'y a donc pas de concepts généraux sur lesquels les «flux» sont construits? –
Je ne comprends vraiment pas la question. Un "flux", dans la définition la plus large, est une séquence d'éléments de données (souvent, mais pas nécessairement, octets) - c'est tout ce qu'il y a à faire. Quels genres de constructions avez-vous en tête? –