phpbar.de logo

Mailinglisten-Archive

RE: [php] Chat Schönheitsfehler

RE: [php] Chat Schönheitsfehler

Andreas Müller php at universalware.de
Mon Jul 11 11:47:56 CEST 2005


Hallo Alex,
also entweder hast du diese Reloadanzeige oder eben eine offene Verbindung.
Letzteres muss nicht zwingend über Shared Memory laufen. Man kann auch MySQL
(für wenige Clients), Textfiles (für mittlere Anzahl Clients) oder einen
kleinen lokalen Socketserver (für sehr viele Clients) verwenden.

Mit den Textfile die quasi wie eine Pipe benutzt werden habe ich gute
Erfahrungen gemacht. Delays so um die 250ms reichen vollkommen aus um die
Dateien periodisch auf neue Daten abzufragen. Damit kann man auch auf einer
kleinen Maschine locker über 100 Clients bedienen.

Als Inhalt der Textfiles verwende ich spezielle Kommandos die der
"Lesethread" auswertet und damit weiss was er zum Client schicken soll. Die
"Schreibthreads" sind dann nur normale Post-Requests die verarbeitet werden
und in die entsprechenen Textfiles eben was reinschreiben. Das ganze wird
noch über einen File-Lock mechanismus syncronisiert sodas nicht zwei
gleichzeitig schreiben wollen.

Gruß,
Andreas



php::bar PHP Wiki   -   Listenarchive