Michael Schröpl: Chat

Beitrag lesen

das obere frame hat ein refresh nach 5 sekunden, d.h.
es ruft automatisch alle 5 sekunden ein skript auf, das
den inhalt der textdatei auf dem bildschirm anzeigt.
was mich daran stoert ist, das auch wenn keine neue nachricht da ist findet datentransfer statt. da der Client ja nicht weiss wann etwas geschrieben wurde,

Nur als Idee - die Details habe ich noch nicht ausprobiert: Der Browser fragt doch den Webserver ab und zu, ob er eine Seite wirklich neu laden soll oder ob seine gecachete Version noch reicht. Soviel ich weiß, sendet der Server ihm eine entsprechende http-Nachricht zurück. Wenn Du den Webserver davon überzeugen kannst, daß er dem Browser sagen soll, der Cache-Inhalt sei noch okay, dann kriegst Du eine Menge Last weg.

Eine Möglichkeit dazu könnte es sein, als Chat-Client nicht via CGI das Dokument mit dem aktuellen Inhalt anzuzeigen, sondern dieses einfach als statisches Dokument auf dem Server zu halten. Wie *das* zu cachen ist, das weiß der Browser!
Der Trick muß es dann sein, daß die CGI-Anwendung zum "sprechen" dieses Dokument aktualisiert. Die allfälligen Synchonisationsprobleme sind hoffenlich bekannt - wenn zwei Leute gleichzeitig sprechen wollen, kracht es womöglich.
Alternative: Jeder Teilnehmer "spricht" in eine eigene, temporäre Datei (login mit name?), und ein Dauer-Job generiert aus diesen Dateien periodisch (alle 5 Sekunden?) die HTML-Datei, welche den aktuellen "Gesprächsstand" anzeigt ...