Wie die Entwicklung einer web-basierten XMPP-chat-Funktion mit PHP und JQuery?
Ich Suche eine website zu entwickeln, die über ein chat-Möglichkeit zwischen einem website-Besucher und den administrator der website.
Ich weiß, der beste Weg, dies zu tun wäre mit XMPP, aber ich habe keine Erfahrung mit ihm. Ich bin auf der Suche zu implementieren, diese mit Hilfe von PHP.
Habe ich heruntergeladen XMPPHP und ich bearbeitet habe, ein Beispiel zum senden einer Nachricht in meinem Google-Chat-client in GMail, aber wenn ich Antworten Google sagt mir, das andere Ende trifft, nicht die Botschaft.
So weit, die meisten informative tutorial ist http://www.ibm.com/developerworks/xml/tutorials/x-realtimeXMPPtut/ aber ich verstehe nicht, warum ich installieren müssen 'Openfire' noch will ich zum Aufbau der Webseite auf meinem lokalen Rechner.
Kann jemand bitte sagen Sie mir, was ich brauche (und noch wichtiger, warum) die Einrichtung dieses Projekt, damit ich anfangen kann zu bauen, den code dafür?
- Muss es PHP sein? Muss es sein, XMPP?
- sorry für die Verzögerung bei der Beantwortung Sie. Hat PHP sein, nicht XMPP
- Warum nicht versuchen, mibew? Das ist in PHP und funktioniert gut.
- Dank Tanmay. Zurück bei der Frage wurde die Antwort akzeptiert angewendet, sondern gehen nach vorne, ich würde, wenn ich mir deine Ratschläge befolgen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ausgehend von Kommentaren zu anderen Antworten, ich werde Ihnen sagen, warum, und ein wenig was, aber nicht geben Ihnen eine Lösung, weil ich eine Tonne von Lösungen in der "Related" - Seitenleiste. Sie haben zu wählen die richtige und durch das wissen "warum" Sie werden in der Lage sein, um eine fundierte Entscheidung treffen.
Chat fühlt sich richtig, es hat eine Unmittelbarkeit, die Antworten. Eine Sekunde lag in der Zeit wird spürbar sein, um die Benutzer über die Zeit und geben einen Einblick in untimeliness. Zur sofortigen oder "Echtzeit" - Antworten arbeiten in einem browser benötigt eine permanente Verbindung, so dass, wenn neue Informationen kommt, ist es sofort auftaucht.
Persistente verbindungen in Browsern sind schwierig, aufgrund der Anfrage - /Antwort-Spezifikationen von HTTP. Es gibt Spezifikationen in Arbeit zu bringen, persistente verbindungen zu Browsern, aber diese Browser sind nicht allgegenwärtig. In der Zukunft persistente verbindungen werden geliefert von WebSockets und SPDY, die beide in den neuesten Versionen von Chrome, Safari und FireFox mit IE hinkt ein bisschen.
Weitere option für persistente verbindungen ist XMPP. XMPP ist das Protokoll für den Jabber-chat-client. Da es ein open-source-Implementierung es wurde portiert für viele andere Anwendungen. JavaScript-Bibliotheken vorhanden, die Sie verbinden einen browser, um ein XMPP-Buchse und hören, für neue Nachrichten. Die Methode, die ich gesehen habe, in der Vergangenheit ist zum senden der Nachrichten an den web-server und den web-server sagen, der XMPP-server über die neue Nachricht, die dann sendet die neue Nachricht an alle Benutzer. Dies erfordert jedoch, dass ein XMPP-server, erhöht die Komplexität des Systems.
Meisten Benutzer nicht über die neueste browser-Versionen, so dass Sie müssen in der Lage sein zu handhaben, dass ältere Browser. Die meisten alternativen einzubeziehen, die Eröffnung einer long-running-Verbindung zu dem server, der antwortet, Wann immer neue Daten eintreffen. Hier ist eine Liste von Methoden für die Simulation eine permanente Verbindung in älteren Browsern:
Diese älteren Methoden und WebSockets unterstützt werden durch eine Bibliothek namens Juggernaut.
UPDATE Juggernaut wurde als veraltet markiert durch den Betreuer, aus gutem Grund: moderne Browser bieten Unterstützung für persistente verbindungen aus der box (mit Ausnahme von IE natürlich) durch eine Spezifikation namens-Server-Sent-Events (SSE). Abwärtskompatibilität ist jetzt behandelt, von polyfills (Was ist ein polyfill?) und die Streichung post Notizen, es sind ein paar gute Bilder zu bringen SSE in älteren Browsern.
Es gibt eine Menge von Ressourcen gibt, die Ihnen dabei helfen können. Eine schnelle Google-Suche bringt Folgendes:
http://sixrevisions.com/tools/10-free-website-chat-widgets-to-make-your-site-interactive/
http://www.phpfreechat.net/
http://net.tutsplus.com/tutorials/javascript-ajax/how-to-create-a-simple-web-based-chat-application/
Instant-Messaging-apps sollen werden, Echtzeit. Eine website funktioniert auf dem HTTP-Protokoll, welches verwendet von request/response-Methode. Ein Weg, es zu tun ist POLLING. senden Sie eine Anfrage für neue anstehende Meldungen für den Benutzer auf dem server. Der server sollte in der Lage sein, zu unterscheiden zwischen den Nachrichten, die gesendet und diejenigen, die noch nicht geliefert werden. diese Methode nennt man Polling. Ihr browser wird ständig gefragt, den server zu senden, werden alle ausstehenden Nachrichten.
Aber das kann ein Abfall der Bandbreite und auch drain-Akku ( im Fall Zugriff auf die website über ein smartphone ). Eine bessere Möglichkeit ist noch die Verwendung der XMPP-server.