Henryk Plötz: Grundlegende Funktionsweise beim Ausliefern von Files

Beitrag lesen

Moin,

an dieser Stelle möchte ich fragen, ob ein auszulieferndes File vom Server solange gelesen wird, wie der Client für die Datenpakete empfänglich ist (was ich mir nicht vorstellen kann), oder ob ein File in einen Puffer eingelesen wird, von dem aus der Client bedient wird?

Beides. Da spielen so viele Puffer potentiell eine Rolle dass es fast nicht mehr feierlich ist. Von hinten angefangen: Der TCP/IP-Stack _muß_ gesendete Bytes solange zwischenspeichern bis deren Empfang bestätigt wurde. Ausserdem programmiert man häufig nicht direkt auf den Sockets sondern benutzt eine Stream-Abstraktion der Programmiersprache, die selbst wieder puffert (naja, zumindest kann sie das).

Dito für das Lesen der Datei: Aus Effizienzgründen wird sie in der Regel in größeren Stücken gelesen und die dann gepuffert. Dann sind da natürlich noch das Betriebssystem, das Dateisystem und die Platte die je nach Tageszeit und Großwetterlage auch verschiedene Puffer unterhalten.

Wenn die Datenübertragung zum Client temporär stockt kannst du davon ausgehen dass in der Zwischenzeit alle genannten Puffer erstmal gefüllt werden.

--
Henryk Plötz
Grüße aus Berlin
~~~~~~~~ Un-CDs, nein danke! http://www.heise.de/ct/cd-register/ ~~~~~~~~
~~ Help Microsoft fight software piracy: Give Linux to a friend today! ~~