phpbar.de logo

Mailinglisten-Archive

[php] php chat

[php] php chat

Till Gerken tig_(at)_skv.org
Thu, 16 Dec 1999 11:56:55 +0100


> > Wenn man bei PHP das Cachen der Header abstellt, kann man per flush()
> > zeichenweise Daten ausgeben. Normalerweise stellen die Browser dies auch
> > sofort dar, sofern der Inhalt gerendert werden kann. (Tabellen können
> > deswegen z.B. nicht zeilenweise ausgegeben werden, da bei variable
Spalten-
> > bzw. Zeilenbreite erst die ganze Tabelle ausgewertet werden muß, um sie
> > anzeigen zu können)
>
> Wenn ihr von flush() redet, meint ihr das PHP-Flush, nicht das
> MySQL-flush, oder?

Richtig, die Funktion heißt einfach nur flush().

> Und das bedeutet dann, dass ich bspw. in einer while-Schleife jede
> Benutzereingabe nach dem Abschicken durch durch Loeschen des
> Ausgabepuffers direkt wieder an die Clients rausschicke?
> Und das ist dann Streaming?

Stimmt, sobald flush() aufgerufen wird, werden alle Ausgabepuffer geleert
und zum Client geschickt. Wenn man das in einer Schleife macht, kann man
beliebig fragmentierte Textblöcke nacheinander wegschicken.

Ich glaube, eine offizielle Bezeichnung gibt es dafür noch nicht, aber
"Streaming" oder "Endlosdatei" kommen dem recht nahe.

> Daneben scheint es ja, wie Till erklaert hat, fast Bedingung zu sein,
> das Ganze unter PHP4 zu realisieren, wegen der Performance, oder?

Das ganze klappt auch wunderbar mit PHP 3, Tobias und ich haben nur die
Erfahrung gemacht, daß bei großen Skripten und vielen Clients die Maschine
recht schnell sehr stark belastet wird.

PHP 4 geht damit wesentlich souveräner um.

Am besten einfach mal ein paar Testläufe machen und sich selbst ein Bild
machen.

Till




php::bar PHP Wiki   -   Listenarchive