phpbar.de logo

Mailinglisten-Archive

[php] Chat Schönheitsfehler

[php] Chat Schönheitsfehler

Kraft Bernhard kraftb at mokka.at
Mit Jul 13 11:09:42 CEST 2005


Alex wrote:
> Hi liebe Liste,
> 
> ich habe mir gerade einen primitiven Chat in PHP und MySQL geschrieben.
> Zum Ablauf. Die Chatanzeige basiert auf einem Frameset bestehend aus 3 
> Frames.
> In einem werden die Messages gesendet, in einem dieselbigen angezeigt 
> und in einem
> unsichtbaren die  Daten  geholt  und per JS in den Inhaltframe kopiert. 
> Alles soweit prima.
> D.h. ein lästiges Textflackern durch den Meta Refresh ist unterdrückt. 
> Was mich allerdings
> ganz nervös macht, ist der ständige Ablauf der Reloadanzeige in der 
> Statusbar.

Ich habe einen kleinen Chat für das PHP Web-CMS TYPO3 entwickelt ... sollte eigentlich
nur eine Art kleiner Versuch sein wie ein Chat in PHP zu implementieren ist ...

Du kannst dir das ganze live ansehen auf:
http://kbchat.think-open.org

In der Download section befindet sich auch ein T3X (T3 Extension file) ... mit dem
wirst du aber nicht viel anfangen ohne TYPO3 ...

Ich kann dir auch ein zip schicken wenn du dir nur den source ansehen willst ...

zur realisation:
ich habe anfangs ein "interrupt" basierendes system entwickeln wollen musste aber
schnell feststellen das dies unmöglich ist ... man muss ja die sockets in dem selben
script abhandeln da man sockets nicht per SHM übergeben kann ... da aber gleichzeitig
accepted werden muss (auf neue connections) und select() um festzustellen ob bereits
existierende lesbar sind.
Daher nahm ich damals an ich bräuchte Threads. Da es sowas jedoch in PHP nicht gibt
(leider :) hab ich mich entschlossen die server-architektur auf polling basieren zu lassen
(nicht das HTTP modell ... hier wird server-push verwendet : eine endlos verbindung)

Entzwischen bin ich mir nicht mehr sicher ob man nicht den "socket_accept" call auch über
select() laufen lassen kann ... werd das bei gelegenheit mal ausprobieren und umbauen wenn
möglich.



grüsse,
Bernhard
-- 
Kraft Bernhard
MOKKA Medienagentur <http://www.mokka.at>
T: +43 - 1 - 895 33 33 - 50

php::bar PHP Wiki   -   Listenarchive