Mailinglisten-Archive |
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