Mailinglisten-Archive |
Hi Gianni, >> Ich soll einen Chat realisieren. Wobei max 5 - 10 leuten gleichzeitig Online >> sein werden. >> Auf dem Server kann ich (leider) keine Software installieren/kompilieren à la >> ircd oder Conference Room. Das ist schlecht, jedoch nicht unbedingt sehr schlimm ;) >> Ich würde es gerne mit PHP lösen, aber ich habe schon viel darüber gelesen, dass >> einem abgeraten wird.. Ich persönlich *liebe* PHP, und ich bin auch der Meinung, dass mit PHP fast alles lösbar ist. >> Würde mich interessieren, wer das schon gemacht hat.. >> Evtl. ein kurzes Feedback über Hürden etc. Ich habe schon verschiedene PHP-Chat-Lösungen ausprobiert. Wie schon in der Liste vorgeschlagen worden ist, sollte man die Daten in einer DB abspeichern und dann auslesen lassen. Das Auslesen und das Senden an den Client ist hierbei jedoch der Schwierige Knackpunkt. Die "alten" Refresh-Methoden, dass alle 5 Sekunden überprüft wird ob neue Nachrichten da sind finde ich sehr abgedroschen. Ich habe mit PHP einen eigenen Dämon geschrieben, der die Messages nicht mal in einer DB zwischenspeichert, sondern sofort an die verbundenen Clients weitergibt, als sogenanntes Streaming mit Zuhilfenahme von http-Keep-alive. Das hat den Vortei, dass sofort wenn ein Text abgeschickt wird, dieser beim anderen Client angezeigt wird, ansonsten passiert nichts, bzw. es werden nur um einen disconnect vom Browser zu unterbinden nicht sichtbare Kommentare gesendet. So eine Variante währe auch ohne Installation möglich. Du müsstest dazu diesen Dämon in eine php-Datei auf dem Server ablegen und von einem entfernten Rechner die php-Datei starten. Der Chatroom ist dann solange erreichbar wie auf dem entfernten rechner die PHP-Datei aufgerufen ist. Dies ist in deinem Falle eigentlich nicht besonders schlimm, da du so einfach den Server starten und stoppen kannst und zusätzlich die Aktivitäten die sich im Chat erreignen mitprotokollieren und sofort ausgeben und einsehen kannst. Um so einen Dämon zu schreiben musst du die RFC's des http-Protokoll durchlesen und PHP die socket-Funktionen nutzen. Da dein Dämon dann ein eigenen http-Server integriert haben muss, solltest du in diesem Gebiet natürlich Ahnung haben. In meinem Falle benötigst du kein einziges Javascript, sondern benötigst nur ein Frameset mit dem Ausgabeframe und einem mit dem Textfeld zur Eingabe der Informationen. Jedoch wäre es natürlich von Nützlichkeit, wenn auf der rechten Seite oder so ein erneuter Frame ist, indem die eingeloggten User angezeigt werden. >> Mit freundlichen Grüssen >> Gianni Annunzio Grüße, Michael P.S.: ein PHP-Chat schreibt sich nicht schnell in ein paar Tagen. Ich programmiere schon ein paar Monate an meinem Chat, wobei dort ein gesamtes Community-System integriert ist.
php::bar PHP Wiki - Listenarchive