2010-06-22 10 views
108

He estado mirando algunos servidores XMPP de código abierto, y estoy familiarizado con la página oficial http://xmpp.org/. Pero hasta ahora no he encontrado nada entre "El protocolo extensible de mensajería y presencia (XMPP) es una tecnología abierta para la comunicación en tiempo real" y una lista de especificaciones XEP. Por ejemplo, artículos que explican los conceptos básicos y la terminología (estrofas, coeficiente de inteligencia, presencia, etc.). Incluso la página Wikipedia no ve esto, como era de esperar, los proyectos de código abierto suponen que usted conoce estas cosas antes de comenzar a indagar en el código.Buenos tutoriales sobre XMPP?

¿Hay un buen conjunto (semi) oficial de tutoriales sobre esto? ¿Debo buscar recursos de Jabber en lugar de XMPP?

Entre otras cosas, espero ver diagramas para casos de uso y flujo, no solo texto de protocolo seco. Sé que existen libros en XMPP, pero en general cualquier cosa en un libro también está disponible en línea.

Respuesta

8

Las RFC (enumeradas en la página de Wikipedia) deberían ser una introducción bastante buena a este tema.

Por ejemplo: RFC3920: Extensible Messaging and Presence Protocol (XMPP): Core

+2

Prefiero encontrar algo más que el protocolo en bruto, esos están escritos para ser más precisos que amigables ... pero aún sabiendo que cubre los fundamentos _es_ útil. –

+0

¿Está buscando un tutorial de programadores para XMPP que no profundice en los principios básicos del protocolo? Experimenté hace algún tiempo con la "XMPP Python API" (Google AP-Engine): http://code.google.com/appengine/docs/python/xmpp/overview.html Quizás esto puede ser una entrada para el mundo XMPP :) – FloE

+0

Más o menos ... pero todas las tecnologías con las que he trabajado tienen las especificaciones oficiales como referencia, pero lean tutoriales orientados a aprender los conceptos básicos más rápidamente. Como DirectX o Spring o CSS o algo así. –

36

Esto es lo que me tiene startet sobre el Desarrollo XMPP:

  • Un buen libro: XMPP The Definivie Guide
  • Una API de Java madura. Elegí Smack Library de Ignite Realtime y usé el lenguaje groovy con un conjunto de pequeños scripts para aprender los conceptos básicos.

Más tarde desarrollé un complemento para el servidor OpenFire XMPP. Hay algunos tutoriales y un foro en su sitio también. Creo que tanto el smack como el Openfire api son fáciles de aprender.

Si no está en Java: el libro se refiere a la biblioteca SkeekXMPP Python y lo usa para crear algunos ejemplos (echo bot, ...).

+0

Openfire es mi elección de configuración, en realidad, y Java. –

+0

Bien. Te sugiero que le eches un vistazo al libro. Dado que las clases de API son en su mayoría nombres de los conceptos xmpp/stanzas, tendrá un buen punto de partida una vez que conozca la terminología básica. – tweber

+0

¿Es esa una versión legal del libro? Preferiría encontrar recursos gratuitos en línea, pero si uso un libro prefiero pagar si se supone que debo hacerlo. –

17

Como han dicho otros, las especificaciones son una buena introducción. Es cierto que son de naturaleza técnica, y redactados para ser precisos, pero en realidad son algunas de las mejores especificaciones que he visto para cualquier protocolo, especialmente las últimas RFC (6120 y 6121) que aclaran algunas de las áreas grises en el originales.

E.g. mencionas querer saber la definición de una estrofa, se explica (con ejemplos) en 6120 section 8.

Si tiene algún comentario sobre cómo las especificaciones pueden hacerse más claras, entonces dígalo en el XMPP mailing list, donde todos los comentarios se consideran para los próximos borradores de las especificaciones.

Si las especificaciones son realmente demasiado para usted (agradezco a algunas personas como más fotos que yo), considere the book (ya sea en papel o en formato digital) - está diseñado exactamente como una introducción fácil a las dos especificaciones y las extensiones más comunes, y escritas por personas que ayudan a desarrollarlas e implementarlas.

+1

Bondad, RFC 6120 solo tiene más de 200 páginas. Y pensé que se suponía que debían mantenerlo ** simple ** .......... – Pacerier

+1

La simplicidad no implica automáticamente una breve especificación. Yo personalmente encuentro que XMPP es bastante simple. Especialmente la modularidad de XMPP, es decir, la división entre XMPP Core, XMPP IM y los XEP hacen que el protocolo me resulte atractivo. – Flow

52

Ésta es probablemente demasiado básico, pero al menos es técnica: http://www.adarshr.com/fun-with-xmpp-and-google-talk y la segunda parte, http://www.adarshr.com/fun-with-xmpp-and-google-talk-part-2

Explica lo estrofas son, qué tipos están disponibles y esas cosas.

+0

Simplificamos el proceso de creación de la aplicación de chat en iOS usando los módulos de cacao, puede obtener más información o descargar el código de demostración aquí https://github.com/processone/demo-xmpp-ios – Loegic

+0

En mantenimiento Disculpe las molestias, soy reconstruyendo este sitio web para hacer que tu experiencia sea aún mejor. Esto no debería tomar mucho tiempo. – Adil

+0

Mi espejo aún está activo, no estoy seguro de por qué se eliminó de mi respuesta ... https://f.gdr.name/xmpp-tutorial.tar.gz – GDR

1

utilizar la biblioteca XMPP asmack de

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

y documentación de

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

espero que ayuda a los demás me ayudó

+0

¿Por qué utilizar Beem en lugar de la página ASmack original? – Pacerier

+0

@Pacerier La última vez que revisé asmack no era estable y no se actualizaba regularmente, así que en su lugar usé la versión beem de asmack que se actualizaba regularmente y que también parecía más estable. –

1

Instale Openfire en el lado del servidor y use qsmack en el lado de Android.

+2

¿Por qué usamos qsmack en lugar de asmack? – Pacerier

2

Esto podría ser una vieja pregunta, pero solo quería mantener el proceso que usé para aprender XMPP.

Hace unos años, algunos amigos míos y yo estábamos aprendiendo cómo aprovechar XMPP, y entender cómo encaja en una pieza más grande es una tarea bastante tediosa. Le recomiendo comenzando por la lectura de la página de Wikipedia de XMPP:

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

Usted se sorprenderá de cómo muchas personas no son capaces de responder a preguntas sobre XMPP que son los más fundamentales.

También recomiendo leer este artículo:

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

él se puede dar una idea de la motivación detrás de XMPP, su historia, y es protocolos que utilizan para estar a la par con él.

A partir de ahí, será mejor leer las fuentes de la página de wikipedia para obtener una comprensión más profunda de cualquier característica que pueda interesarle con XMPP.

Cuestiones relacionadas