phpbar.de logo

Mailinglisten-Archive

[php] Chat realisieren in PHP?

[php] Chat realisieren in PHP?

Andre Bischof a.bischof at gmx.net
Mon Aug 16 19:11:57 CEST 2004


Hallo Gia,

> Hallo Andreas ;o)
> 
> 
>>>Ich würde es gerne mit PHP lösen, aber ich habe schon viel darüber
>>>gelesen, dass einem abgeraten wird..

lass dich nicht einschüchtern, das geht ohne Probleme, habe ich schon 
realisiert.

>>Es kommt darauf an, _wie_ man das realisiert! Flatfile = schlecht,
>>DB oder SHM = gut (wobei bei Deinen 10 Usern Flatfiles wohl gehen).
>>Desweiteren existieren gute mit PHP realisierte IRC Frontends.
>>Einen Blick wert sind auch PHP Bananas, wenn Dir die SRM zur Verfü-
>>gung steht. Literatur gibts auf Anfrage. :-)

Ja, Datenbank in Verbindung mit SHM wäre auch mein Tipp.

> *Anfrag* Tönt interessant, aber wie gesagt auf dem Server kann ich nix
> installieren/kompilieren
> 
> 
>>>Was meint ihr dazu, wäre _Java_ 'besser'? Es soll möglichst kein
>>>_Java Script_ zur Verwendung kommen..
>>
>>PHP eignet sich sehr wohl, allerdings ist eine Kombination mit JavaScript
>>optimal. Ohne JavaScripts sind Reloads der Seite notwendig um neue Postings
>>zu zeigen, mit JavaScript (in einem anderen Fenster, erzeugt von PHP
>>Reloads)

Das ist falsch. Man kann das mit Reloads machen, das ist aber sehr 
unschön. Besser ist ein Frameset (geht aber auch ohne), der eigentliche 
Chat wird einfach gestreamt. D.h. bei allen Usern läuft eine 
Endlosschleife, in der du guckst ob neue Beiträge in der DB oder wo auch 
immer vorliegen, falls ja flush()st du die raus, sleep(1) eine Sekunde 
und machst den nächsten Schleifendurchlauf. Abbruchkriterium für die 
Endlosschleife ist bspw. ein Beenden-Button oder ein 
connection_aborted(). Du mußt nur daran denken, set_time_limit(0) zu 
verwenden, damit dein  Skript nicht in einen Timeout läuft. Und einen 
header a la connection keep-alive oder so ähnlich ist auch von Vorteil.

> Kannst du denn Satz "[..] mit JavaScript (in einem anderen Fenster, erzeugt von
> PHP Reloads) genauer erläutern? Wie kann man PHP reloads realisieren?

Wie gesagt, ich würde Reloads nicht verwenden, ist von der Usability 
gruselig, dieses Geflacker.

Mit Javascript würde ich in den anderen Frames eher Komfortfunktionen 
verwenden, aber keine Notwendigkeiten, denn du kannst dich ja nicht 
darauf verlassen dass JS bei jedem läuft - aber ein automatischer 
Refresh der Nicklist oder ähnliches ist schon nett.

Viele Grüße
André

php::bar PHP Wiki   -   Listenarchive