phpbar.de logo

Mailinglisten-Archive

[php] Socket-Verbindungen

[php] Socket-Verbindungen

David Hohlfeldt communication design php_(at)_phpcenter.de
Mon, 17 Jun 2002 09:27:16 +0200


> Aber noch eine andere Frage: Wenn ich bsw. mit $text = fgets($fp, 1024)
> aus einer Socketverbindung hole, wie bestimme ich die Anzahl der zu
> holenden Bytes, in diesem Fall 1024? Wenn beispielsweise nur 10 Bytes
> ausgegeben werden und das Blocking auf 1 steht, wartet das Skript, bis
> die restlichen 1014 Bytes ausgegeben werden, oder?

Nein, normalerweise bricht fget ab, wenn ein EOF über den Stream kommt.
Das ist wie beim Lesen aus einer Datei. Bis EOF und nicht weiter.
Die 1024 gibt nur die maximale Größe des Puffers an. Wenn man bsp.
von einem POP-Server liest, ist der Puffer standarisiert auf 512 Bytes
weil die maximale Zeilenlänge,die vom POP-Server ausgesendet wird nicht
höher liegt.

Im Übrigen wartet fget im Block Modus, bis der Server Daten sendet und
nicht, bis die maximale Puffergröße empfangen wurde.

Gruß
Dave


php::bar PHP Wiki   -   Listenarchive