phpbar.de logo

Mailinglisten-Archive

[php] Chating System ?

[php] Chating System ?

Fabian Franke php_(at)_phpcenter.de
Tue, 22 Jan 2002 09:35:46 +0100


Hi T.Nguyen,



> Fuer das Chaten benutze ich JavaScript um die Seite, worauf die Texte
> angezeigt wird, innenhalb einem bestimmten Zeitabstand zu refreschen.
Das
> klappt und funktioniert aber man sieht, dass der Browser im Statusbar
> staendig blizt. Das nervt mich total und das sieht wirklich nicht
schoen
> aus. (Ich habe das Anzeigefenster schon im Frame versteckt aber man
sieht
> das immer noch).
>
> Kann jemand von Ihnen mir zeigen oder ein Paar Erlaeuterung geben, wie
ich
> das verschwinden lassen kann. Oder gibt es bitte noch andere Technik,
mit
> der man Chat mittels PHP+Html programmieren kann ohne refresh Function
von
> JS benutzen zu muessen.
> Das Anzeigefenster muss aber in Standard Browser gelanden sein (also
nicht
> in separates Fenster - spricht hier wie PopUp - ohne Status Bar).

Ich nehme mal an das du eine Seite refreshed die immer die letzten
10,12,15,
oder was auch immer Zeilen anzeigt, oder? So ein Blink-Refresh ist ja
heut-
zu tage nicht mehr ganz auf der Höhe der Zeit.. Angenehmer für den
Chatter
wird es, wenn du die Ausgabe in einen Endlosschleife setzt und immer die
neueste Sachen aus deiner DB oder was auch immer lädst und anzeigst..

z.b.

while(1==1) {

	$sql = lade neues aus der db;
	echo $sql;
	last_new = time();

	if(time() - $last_new > 60) {
		$last_new = time();
		echo "<!-- *langweil* -->\n";
	}
	flush();
	usleep(500000);
}

Also in der Endlosschleife lädt er die neuen Nachrichten, gibt sie und
sorgt mit dem flush dafür das sie auch wirklich beim User erscheinen.
Danach macht er ne Pause von einer halben Sekunde, und alles wieder von
Vorne. Falls ne 60 Sekunden lang nix gesagt wird sendet er n HTML
Kommentar damit die Verbindung vom Browser zum Server nicht abreißt...
So hab ich das jedenfalls gelöst..

Du musst nur dabei bedenken, falls die Sache online laufen soll und du
keinen dedicated Server hast, das so n Chat doch ganz schön viel
CPU-Leistung mitunter verbrauchen kann... *g*

bye

Fabian 'FTF' Franke


Stage21::Digital-Players
www.stage21.de
www.digital-players.de


php::bar PHP Wiki   -   Listenarchive