Chat mit PHP?

-

Original geschrieben von d4k4
trotzdem ist der hohe datenverbrauch ein problem
Den man aber auch mit Hilfe von Shared Memory Funktionen eingrenzen kann.
Nehmen wir den Chat als Beispiel:
Wenn wir einen Stream haben, also eine Seite, die durchgehend nach neuen Einträgen in der Datenbank sucht, haben wir eine hohe Serverbelastung. Der Traffic spielt keine so große Rolle, da ja nicht die ganze Seite neugeladen wird.

Wenn jetzt aber jedesmal bei einer Eingabe eine Flag im globalen Speicherbereich gesetzt wird und der Stream auf die Existenz dieser prüft, wird nur dann eine Datenbankabfrage durchgeführt, wenn der Test wahr ausfällt. Somit wird der Server nur dann mit einer Datenbankabfrage belastet, wenn auch Informationen vorhanden sind.

Jetzt werden sich einige fragen, was mit dem Stream ist? Aber eine Endlosschleife mit leerem Puffer erzeugt keine Systembelastung, somit spielt das Problem Serverbelastung keine all zu große Rolle mehr.
 
-

Informationen zu den Shared Memory Funktionen von PHP findest du auf php.net. Einsetzen kannst du sie nur auf Unix Systemen, da Windows keinen globalen Speicherbereich kennt.
Viel Spaß beim coden, ist ein sehr interessantes Thema.
 
Hi,

ich habe mich mit dem Thema einmal genauer befasst. Ich habe das System vor ca. 3-4 Monaten umgesetzt (Endloschleife mit mysql abfrage ob neuer Eintrag existiert).

Das ganze hat auch funktioniert (nur auf einem HostEurope Server). Als ich vor paar Tagen das Script aufgerufen habe funktionierte es plötzlich nicht mehr. Hab nix an den Scripten geändert - denke mal das die Server Administratoren Änderungen vorgenommen haben.

Habe jetzt folgendes Problem. Ich habe 3 Frames (Stream, Input und Verarbeitung). Wenn ich jetzt die Seite aufrufe, so wird nur der Stream geladen.die beiden anderen Seiten werden nie geladen da der Stream sich ja in einer endloschleife befindet.

Hätte vielleicht jemand eine Idee woran das liegen könnte bzw welche Änderungen am Server durchgeführt wurden welche das nun auslöst? Hier die PHPinfo seite vom Server

http://www.kmx.de/phpinfo.php4

PS: Als Tip für andere Programmierer. Man kann den Stream auch per Flash realisieren. So kann Flash eine php datei aufrufen und abfragen ob ein neuer eintrag vorhanden ist. ist zwar auch nicht so eine optimale lösung, aber ein teil der rechenleistung liegt dann beim besucher (flash).

Danke
 
Zurück