-
Hi abc,
um bei einem Chat die Mitteilungen zu aktualisieren hast du 2 Möglichkeiten:
- client pull
Hier wird durch den Client ein Reload in zeitlichen Abständen von einigen Sekunden ausgelöst. Dadurch wird das PHP neu geladen und die Nachrichten im Chat können aktualisiert werden.
Der Reload kann per META-Tag oder über JavaScript durchgeführt werden.
Wenn wird der Reload über META-Tag gemacht läd die komplette Seiten neu.
Beim Reload über JavaScript kann auch nur ein Teil der Seite aktualisiert werden (z. B. das Chatfenster). Hierbei wird das XMLHttpRequest-Objekt verwendet, in letzter Zeit ist darum ein Hype entstanden der sich AJAX nennt.
Ein AJAX-Chat Beispiel ist z. B. (einfach mal nach "ajax chat" googeln):
http://kuraikaze.ku.funpic.de/ebb_chat/
- server push
Hier sendet der Server immer nur die letzte Zeile, bzw. nach einer bestimmten Anzahl von Zeilen, wird die Seite komplett neu geladen. Das Skript scheint also "ewig" zu laden. Das verwendete Verfahren nennt sich Serverpush.
Hier Code-Beispiele für das "Server-Push"-Verfahren:
http://web.they.org/software/php-push.php
http://xulplanet.com/tutorials/mozsdk/serverpush.php
Ein Live-Beispiel für Serverpush ist z. B. Chatworld.
Achtung wenn du den Chat produktiv einsetzen solltest! Die Serverpush-Methode frisst viel Leistung vom Server, da für jeden Chatter eine Verbindung zum Server geöffnet und bestehen bleibt.
Wenn der Chat "nur zur Übung" ist, ist die client pull-Methode zu empfehlen. Ob das jetzt über Sockets gemacht wird oder nicht halte ich jetzt mal für weniger wichtig, Sockets solltest du dir aber auf jeden Fall mal angeschaut haben... wenn auch nur zu Übungszwecken.
Grüße,
nEox
Geändert von nEox (14-01-2006 um 17:55 Uhr)
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen