Frage

Ich habe eine Mitglieder-Website, die Ich mag würde Chat (LAMP auf einem dedizierten Feld) hinzuzufügen. Es ist nicht zu komplex sein muß, sondern muss die bereits angemeldeten Mitglieder Benutzername Chat verwenden.

Dies ist ein bisschen ein Nebenprojekt für mich, so dass ich lieber nicht, es von Grund auf neu schreiben, wenn möglich und ein vorhandenes Skript oder Klasse wäre ideal. Ich habe ein bisschen suchen getan und es scheint eine Neigung zu JSON / Ajax zu sein, aber ich kann nichts definitiv finden.

Irgendwelche Tipps / Zeiger?

War es hilfreich?

Lösung

Hier sind zwei Projekte, die Sie aus (beide AJAX / JSON-basiert) helfen könnten:

  • jQuery Ajax Chat-Plugin - eine einfache, leichtgewichtige Plugin für jQuery . Kein Schnickschnack, aber es wird die Arbeit getan.

  • Ajax IM - ein ausgewachsener Web-App, die man alle Funktionen würde zu emulieren versucht erwartet in einem Desktop-iM-Client. Ziemlich heftige Download-Größe (324KB komprimiert).

Ich bin derzeit die erstes für ein grundlegendes IM-System auf einem meiner Projekte. Ich war in der Lage, sie umzusetzen jedes System Anmeldeinformationen des Benutzers verwendet (da sie bereits in das System eingeloggt ist - anstatt sie ihre eigenen Spitznamen wählen). Die Probe enthält PHP Quellcode für das Skript, das von der AJAX abgefragt wird. Es funktioniert großartig.

Andere Tipps

Es gibt drei Wege beschritten häufig in den Aufbau einer Website-basierte Chat-System.

  1. Java-Applet Lösung - entweder finden oder ein Java-Applet erstellen, die zu einem Chat-Server kommuniziert. Das Applet kann ein IRC-Client oder ein maßgeschneidertes Chat-Client mit einem benutzerdefinierten Server sein. Ich habe sogar einige Websites verwenden, um ein Java-Applet als Kommunikations-Front-End zu sehen, wo die Schnittstelle alle von Javascript und HTML im Browser ausgeführt wird, aber die Javascript sendet und akzeptiert Ereignisse aus dem Applet in das Chat zu starten.

  2. AJAX Post / Abstimmung -. Jedes Mal, wenn eine Anwendung eine Nachricht schreibt, die Nachricht an den HTTP-Server senden, in dem alle verbundenen Benutzer für neue Nachrichten in regelmäßigen Abständen abrufen möchten

  3. Comet - hauptsächlich Verwendung Javascript, stellt jeder Kunde eine langfristige Verbindung zu einem HTTP-Server, und im Leerlauf. Wenn eine Nachricht von dem Benutzer gesendet wird, ist es, die bereits vorher bestehende Verbindung senden über. Und anstatt Polling für sie, neue Nachrichten von anderen Benutzern nur fließen die gleiche Verbindung.

Persönlich finde ich die dritte Option, um die aufregendste zu sein, aber das komplexeste auch. Sie werden wahrscheinlich benötigen, um Ihre eigene Version von einem HTTP-Server zu bauen, die langlebige Verbindung zu unterstützen, dass Comet erfordert. Und da auf den Deskriptoren der Steckdosen eine 16-Bit-Grenze gibt es in TCP / IP, werden Sie auf etwa 64K Steckdosen begrenzt, pro IP, auf dem Server. (Denken Sie daran, jeder Client eine offene Steckdose müssen!) Schließlich sind die Techniken für den Aufbau von Comet clientseitigen Code zwischen den Browsern wild unterschiedlich sind. Es gibt ein paar Rahmenbedingungen für das, aber Sie werden sie halten haben, während neue Browser kommen.

Wenn Sie eine kleine Webseite laufen lassen, und Sie wollen eine überwindbare Herausforderung stellen, dann mit AJAX Polling gehen Sie einfach. Es macht Spaß, es ist nicht zu hart, und Sie werden eine Menge lernen. Wenn Sie nicht gestört werden können, dann nur ein Java-Applet finden. Sobald es mit einem passenden Server konfiguriert ist, werden Sie nie über die Aufrechterhaltung es zu kümmern, da diese Lösung sehr Client-agnostisch ist. Natürlich erfordert es, dass die Java-Laufzeitumgebung auf dem Client installiert werden, und das ist nicht immer wahr sein würde ...

AJAX Chat-Beiträge an den Server und Laständerungen an die Chat-Box senden periodisch (Prototyp hat eine nette Funktion, dies zu tun, die den Server für aktualisierte Daten überprüfen (Ajax periodische Aktualisierungs)). Unter Ihren Vorgaben von „nicht so komplex“ Das ist so ziemlich die nackten Knochen.

Ach ja, und wenn Sie die Chat-Nachrichten wollen in einer Datenbank gespeichert werden, stellen Sie sicher Sie sich von SQL-Injektionen schützen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top