Gute Tutorials zu XMPP? [geschlossen]


110

Ich habe mir einige Open-Source-XMPP-Server angesehen und bin mit der offiziellen Seite http://xmpp.org/ vertraut . Bisher habe ich jedoch nichts zwischen " Das XMPP (Extensible Messaging and Presence Protocol) ist eine offene Technologie für die Echtzeitkommunikation " und einer Liste von XEP-Spezifikationen gefunden. Zum Beispiel Artikel, in denen die Grundlagen und die Terminologie erläutert werden - Strophen, IQ, Präsenz usw. usw. Selbst auf der Wikipedia- Seite fehlt dies. Es überrascht nicht, dass Open-Source-Projekte davon ausgehen, dass Sie diese Dinge kennen, bevor Sie sich mit dem Code befassen.

Gibt es dazu eine gute, (halb-) offizielle Reihe von Tutorials? Muss ich eher nach Jabber-Ressourcen als nach XMPP suchen?

Unter anderem hoffe ich, Diagramme für Anwendungsfälle und Ablauf zu sehen, nicht nur trockenen Protokolltext. Ich weiß, dass es Bücher über XMPP gibt, aber im Allgemeinen ist alles in einem Buch auch online in irgendeiner Form verfügbar.

Antworten:


53

Dies ist wahrscheinlich viel zu einfach, aber zumindest technisch: https://web.archive.org/web/20170916193014/http://www.adarshr.com/fun-with-xmpp-and-google-talk and the Zweiter Teil, https://web.archive.org/web/20171005104211/http://www.adarshr.com:80/fun-with-xmpp-and-google-talk-part-2

Es erklärt, was Strophen sind, welche Typen verfügbar sind und so.


Wir vereinfacht den Prozess der Erstellung Chat - App unter iOS Kakaoschoten verwenden, können Sie mehr oder Download Demo - Code hier lernen github.com/processone/demo-xmpp-ios
Loegic

Mein Spiegel ist immer noch geöffnet
DDR

36

Folgendes hat mich zur XMPP-Entwicklung gebracht:

  • Ein gutes Buch: XMPP The Definivie Guide
  • Eine ausgereifte Java-API. Ich habe die Smack Library von Ignite Realtime ausgewählt und die groovige Sprache mit einer Menge kleiner Skripte verwendet, um die Grundlagen zu lernen.

Später entwickelte ich ein Plugin für den OpenFire XMPP Server. Es gibt einige Tutorials und ein Forum auf ihrer Website. Ich denke, dass sowohl die Smack- als auch die Openfire-APIs leicht zu lernen sind.

Wenn Sie sich nicht für Java interessieren: Das Buch verweist auf die SkeekXMPP Python-Bibliothek und verwendet sie zum Erstellen einiger Beispiele (Echo-Bot, ...).


Fein. Ich schlage vor, dass Sie sich das Buch ansehen. Da die API-Klassen hauptsächlich nach den xmpp-Konzepten / Zeilengruppen benannt sind, haben Sie einen guten Ausgangspunkt, sobald Sie die grundlegende Terminologie kennen.
towe75

1
Außerdem ist Jack Moffits Professional XMPP Programming mit JavaScript und jQuery hervorragend, besser als das oben erwähnte (O'Reilly). professionalxmpp.com

Seien Sie bereit, Unmengen von Tippfehlern und Fehlern zu sehen, während Sie XMPP The Definivie Guide lesen (meistens im Beispielcode)
kas-kad

XMPP The Definitive Guide ist großartig und detailliert, vielleicht etwas veraltet, hat aber selbst einen guten Start hingelegt.
Jerry

17

Wie andere gesagt haben, sind die Spezifikationen eine gute Einführung. Es ist wahr, dass sie technischer Natur sind und präzise formuliert sind - aber sie sind wirklich einige der besten Spezifikationen, die ich für jedes Protokoll gesehen habe, insbesondere für die neuesten RFCs ( 6120) und 6121 ), die einige der Grauzonen in der Liste verdeutlichen Originale.

Wenn Sie beispielsweise erwähnen, dass Sie die Definition einer Strophe wissen möchten, wird dies (mit Beispielen) in erläutert Abschnitt 8 von 6120 .

Wenn Sie Feedback dazu haben, wie die Spezifikationen klarer gestaltet werden können, sagen Sie dies auf der XMPP-Mailingliste an , in der alle Rückmeldungen für die nächsten Entwürfe der Spezifikationen berücksichtigt werden.

Wenn Ihnen die Spezifikationen wirklich zu viel sind (ich schätze, dass manche Leute mehr Bilder mögen als ich), ziehen Sie das Buch in Betracht (ob in Papierform oder in digitaler Form) - es ist genau als einfache Einführung in die Kernspezifikationen und die meisten gedacht allgemeine Erweiterungen, die von Personen geschrieben wurden, die bei der Entwicklung und Implementierung helfen.


1
Meine Güte, RFC 6120 allein ist über 200 Seiten lang. Und ich dachte, dass sie es einfach halten sollten ..........
Pacerier

1
Einfachheit bedeutet nicht automatisch eine kurze Spezifikation. Ich finde XMPP für mich ziemlich einfach. Besonders die Modularität von XMPP, dh die Aufteilung zwischen XMPP Core, XMPP IM und den XEPs, macht das Protokoll für mich attraktiv.
Flow

1
Wie andere bereits betont haben, sind RFCs die besten Freunde, wenn es um XMPP geht. Ich habe vor ein paar Jahren selbst XMPP gelernt und einige Informationen zu auf Anfänger ausgerichteten Tutorials zusammengestellt. Ein freundliches Intro zu XMPP und Roster and Presence sollte ein guter Anfang sein.
musimbate

8

Die RFCs (auf der Wikipedia-Seite aufgeführt) sollten eine recht gute Einführung in dieses Thema sein.

Beispiel: RFC3920: XMPP (Extensible Messaging and Presence Protocol): Core


2
Ich würde lieber etwas anderes als das Rohprotokoll finden, diese sind eher präzise als freundlich geschrieben ... aber es ist nützlich zu wissen, dass es die Grundlagen abdeckt .
Mr. Boy

Sie suchen also ein Programmier-Tutorial für XMPP, das nicht auf die Grundlagen des Protokolls eingeht? Ich habe vor einiger Zeit mit der "XMPP Python API" (Google AP-Engine) experimentiert : code.google.com/appengine/docs/python/xmpp/overview.html Vielleicht kann dies ein Eintrag in die XMPP-Welt sein :)
FloE

Irgendwie ... aber jede Technologie, mit der ich jemals gearbeitet habe, hat die offizielle Spezifikation als Referenz, aber lesen Sie Tutorials, um die Grundlagen schneller zu erlernen. Wie DirectX oder Spring oder CSS oder irgendetwas wirklich.
Mr. Boy

Ich verstehe. Die von Ihnen angeforderte Grundterminologie wird in den RFCs und auf xmpp.com (und möglicherweise nur dort ...) definiert und beschrieben. Für eine praktischere Einführung gibt es Dutzende Beispiele und Tutorials zum Erstellen eines eigenen Jabber-Clients mit verschiedenen APIs in Java, Perl, Ruby, Python usw. im Web (z. B. den Link im vorherigen Kommentar).
FloE

@FloE, Der von Ihnen angegebene RFC ist veraltet. Neben der Lektüre, dass RFC nicht ausreicht, gibt es für XMPP unzählige miteinander verbundene RFCs zu lesen.
Pacerier

2

Dies mag eine alte Frage sein, aber ich wollte nur den Prozess beibehalten, den ich zum Erlernen von XMPP verwendet habe.

Vor ein paar Jahren haben ein paar Freunde von mir und ich gelernt, wie man XMPP nutzt, und zu verstehen, wie es in größere Teile passt, ist eine ziemlich mühsame Aufgabe. Ich empfehle dringend, zunächst die Wikipedia-Seite von XMPP zu lesen:

http://en.wikipedia.org/wiki/XMPP

Sie werden überrascht sein, wie viele Menschen nicht in der Lage sind, die grundlegendsten Fragen zu XMPP zu beantworten.

Ich empfehle auch sehr, diesen Artikel zu lesen:

http://www.infoworld.com/article/2682116/application-development/xmpp-rises-to-face-simple-standard.html

Es gibt Ihnen einen Eindruck von der Motivation hinter XMPP, seiner Geschichte und seinen Protokollen, die früher mit XMPP vergleichbar waren.

Von dort aus lesen Sie am besten die Quellen der Wikipedia-Seite, um ein besseres Verständnis für alle Funktionen zu erhalten, an denen Sie mit XMPP interessiert sein könnten.


1

Verwenden Sie die xmpp asmack Bibliothek von

http://beem-project.com/projects/beem/files herunterladen asmack-android-7-beem-jingle.jar

und Dokumentation von

http://www.igniterealtime.org/downloads/index.jsp

Hoffe, es hilft anderen, wie es mir geholfen hat


Warum Beem anstelle der ursprünglichen ASmack-Seite verwenden?
Pacerier

1
@Pacerier Als ich das letzte Mal überprüft habe, dass asmack nicht stabil ist und nicht regelmäßig aktualisiert wird, habe ich stattdessen die Beem-Version von asmack verwendet, die regelmäßig aktualisiert wurde, und sie schien auch stabiler zu sein.
Sheraz Ahmad Khilji

1

Installieren Sie openfire auf der Serverseite und verwenden Sie qsmack auf der Android-Seite.


3
Warum wir qsmack statt asmack?
Pacerier
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.