De bons tutoriels sur XMPP? [fermé]


110

J'ai regardé des serveurs XMPP open source et je connais bien la page officielle http://xmpp.org/ . Mais jusqu'à présent, je n'ai rien trouvé entre " Le protocole extensible de messagerie et de présence (XMPP) est une technologie ouverte pour la communication en temps réel " et une liste de spécifications XEP. Par exemple , les articles expliquant les bases et la terminologie - strophes, QI, présence, etc., etc. Même la Wikipédia la page manque ce, sans surprise les projets open-source supposent que vous savez ces choses avant de commencer à creuser dans le code.

Existe-t-il une bonne série (semi) officielle de tutoriels à ce sujet? Dois-je rechercher des ressources Jabber plutôt que XMPP?

Entre autres choses, j'espère voir des diagrammes pour les cas d'utilisation et le flux, pas seulement du texte de protocole sec. Je sais que des livres sur XMPP existent, mais généralement tout ce qui se trouve dans un livre est également disponible sous une forme ou une autre en ligne.

Réponses:


53

C'est probablement beaucoup trop basique, mais au moins c'est technique: https://web.archive.org/web/20170916193014/http://www.adarshr.com/fun-with-xmpp-and-google-talk et le deuxième partie, https://web.archive.org/web/20171005104211/http://www.adarshr.com:80/fun-with-xmpp-and-google-talk-part-2

Il explique ce que sont les strophes, quels types sont disponibles et tout.


Nous avons simplifié le processus de création d'applications de chat sous iOS en utilisant des cabosses de cacao, vous pouvez en savoir plus ou télécharger le code de démonstration ici github.com/processone/demo-xmpp-ios
Loegic

Mon miroir est toujours en place, je ne sais pas pourquoi il a été supprimé de ma réponse ... f.gdr.name/xmpp-tutorial.tar.gz
GDR

36

Voici ce qui m'a permis de démarrer sur le développement XMPP:

  • Un bon livre: XMPP The Definivie Guide
  • Une API Java mature. J'ai choisi la bibliothèque Smack d'Ignite Realtime et j'ai utilisé le langage groovy avec un tas de petits scripts pour apprendre les bases.

Plus tard, j'ai développé un plugin pour le serveur OpenFire XMPP. Il existe également des tutoriels et un forum sur leur site. Je pense que les api smack et openfire sont faciles à apprendre.

Si vous n'êtes pas dans java: Le livre fait référence à la bibliothèque SkeekXMPP Python et l'utilise pour créer des exemples (echo bot, ...).


Bien. Je vous suggère de jeter un œil au livre. Comme les classes d'API sont principalement nommées d'après les concepts / strophes xmpp, vous aurez un bon point de départ une fois que vous connaissez la terminologie de base.
towe75

1
De plus, la programmation XMPP professionnelle de jack moffit avec JavaScript et le livre jQuery est excellente, meilleure que celle mentionnée ci-dessus (O'Reilly). professionalxmpp.com

Soyez prêt à voir des tonnes de fautes de frappe et d'erreurs lors de la lecture de XMPP The Definivie Guide (principalement dans un exemple de code)
kas-kad

XMPP The Definitive Guide est génial et détaillé, peut-être un peu dépassé, mais m'a donné un bon départ.
Jerry

17

Comme d'autres l'ont dit, les spécifications sont une bonne introduction. Il est vrai qu'ils sont de nature technique, et formulés pour être précis - mais ce sont vraiment certaines des meilleures spécifications que j'ai vues pour n'importe quel protocole, en particulier les dernières RFC ( 6120 et 6121 ) qui clarifient certaines des zones grises dans le originaux.

Par exemple, vous dites vouloir connaître la définition d'une strophe, c'est expliqué (avec des exemples) dans 6120 section 8 .

Si vous avez des commentaires sur la façon dont les spécifications peuvent être clarifiées, dites-le sur la liste de diffusion XMPP , où tous les commentaires sont pris en compte pour les prochaines versions des spécifications.

Si les spécifications sont vraiment trop pour vous (j'apprécie que certaines personnes aiment plus d'images que moi), considérez le livre (que ce soit sous forme papier ou numérique) - il est conçu exactement comme une introduction facile aux spécifications de base et aux plus extensions courantes, et rédigées par des personnes qui aident à les développer et à les implémenter.


1
Bon sang, la RFC 6120 compte à elle seule plus de 200 pages. Et je pensais qu'ils étaient censés faire simple ..........
Pacerier

1
La simplicité n'implique pas automatiquement une spécification courte. Pour ma part, je trouve XMPP assez simple. En particulier, la modularité de XMPP, c'est-à-dire la division entre XMPP Core, XMPP IM et les XEP, rend le protocole attrayant pour moi.
Débit le

1
Comme d'autres l'ont souligné, les RFC sont les meilleurs amis pour découvrir XMPP. J'apprenais moi-même XMPP il y a quelques années et j'ai compilé des bribes d'informations dans des didacticiels ciblés pour les débutants. Une introduction amicale à XMPP et Roster and Presence devrait être un bon début.
musimbate

8

Les RFC (listées sur la page Wikipédia) devraient être une très bonne introduction à ce sujet.

Par exemple: RFC3920: Extensible Messaging and Presence Protocol (XMPP): Core


2
Je préfère trouver autre chose que le protocole brut, ceux-ci sont écrits pour être précis plutôt que convivial ... mais savoir qu'il couvre les principes fondamentaux est utile.
Mr. Boy

Vous recherchez donc un didacticiel pour les programmeurs sur XMPP qui n'aborde pas les bases du protocole? J'ai expérimenté il y a quelque temps avec l '"API XMPP Python" (Google AP-Engine): code.google.com/appengine/docs/python/xmpp/overview.html Peut-être que cela peut être une entrée dans le monde XMPP :)
FloE

En quelque sorte ... mais toutes les technologies avec lesquelles j'ai travaillé vous ont les spécifications officielles comme référence, mais lisez des didacticiels destinés à apprendre les bases plus rapidement. Comme DirectX ou Spring ou CSS ou quelque chose de vraiment.
M. Boy

Je comprends. La terminologie de base que vous avez demandée est définie et décrite dans les RFC et sur xmpp.com (et peut-être seulement là ...). Pour une introduction plus pratique, il existe une dizaine d'exemples et de tutoriels pour créer votre propre client Jabber avec différentes API en Java, Perl, Ruby, Python, ... sur le web (voir le lien dans le commentaire précédent).
FloE

@FloE, le RFC que vous avez cité est obsolète. En plus de lire que RFC ne suffit pas, il existe des tonnes de RFC interdépendantes à lire pour XMPP.
Pacerier

2

C'est peut-être une vieille question, mais je voulais juste garder le processus que j'ai utilisé pour apprendre XMPP.

Il y a quelques années, quelques amis à moi et moi-même avons appris à tirer parti de XMPP, et comprendre comment il s'intègre dans une pièce plus grande est une tâche assez fastidieuse. Je recommande vivement de commencer par lire la page wikipedia de XMPP:

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

Vous serez surpris du nombre de personnes qui ne sont pas en mesure de répondre aux questions sur XMPP qui sont les plus fondamentales.

Je recommande également vivement de lire cet article:

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

Cela vous donnera une idée de la motivation derrière XMPP, de son histoire et de ses protocoles qui étaient à la hauteur.

À partir de là, il sera préférable de lire les sources de la page wikipedia pour donner une compréhension plus imprécise de toutes les fonctionnalités qui pourraient vous intéresser avec XMPP.


1

Utilisez la bibliothèque xmpp asmack de

http://beem-project.com/projects/beem/files télécharger asmack-android-7-beem-jingle.jar

et documentation de

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

J'espère que ça aide les autres comme ça m'a aidé


Pourquoi utiliser Beem au lieu de la page ASmack d'origine?
Pacerier

1
@Pacerier La dernière fois que j'ai vérifié, asmack n'était pas stable et il n'était pas régulièrement mis à jour, alors j'ai plutôt utilisé la version beem de asmack qui était régulièrement mise à jour et elle semblait également plus stable.
Sheraz Ahmad Khilji

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.