Patrones para crear una aplicación de chat con XMPP

Construí una aplicación de Android con Google App Engine Server. Ahora quiero añadir chat simple a mi aplicación. Y tengo algunas preguntas.

puedo integrar Openfire con GAE?

No puede ejecutar Openfire en GAE porque GAE sólo funciona en HTTP, por lo que no podrá conectarse a través de sockets como lo hace Openfire.

Mis usuarios registrados con sus dominios de correo electrónico deseados como hotmail.com, yahoo.com y aún más esotéricos dominios, eso significa que tengo que crear JID para ellos? si es así, el motor de Google App proporciona creaciones JID con el dominio de mi aplicación que puedo manipular?

Si entiendo su pregunta correctamente, no debería tener ningún problema aquí. Siempre y cuando no seas un spammer, no ponemos ninguna restricción sobre qué dominios puedes enviar.

He leído que Google App Engine actuar como cliente XMPP así que necesito Xmpp Server que puede recibir y enviar mensajes XMPP. Entonces, ¿por qué GAE? es Openfire es mi respuesta? puedo integrar Openfire con GAE?

Puede enviar y recibir mensajes XMPP a través de la API xmpp (esta es la versión de python). Esto llama a la infraestructura de Google Talk. No tienes acceso a lo que tradicionalmente llamas un "servidor XMPP", pero tienes acceso a la funcionalidad básica de XMPP.

No sé mucho acerca de OpenFire, pero hay un programa de probador de confianza para los sockets de salida que puede registrarse . Esto es lo que usted necesitaría si desea un servidor externo XMPP.

También leí que si quiero usar XMPP en GAE y Android en necesidad de ApS aSmack para mi cliente y que está trabajando en HTTP. Así que supongo que necesitaré hacer una encuesta en el servidor para mensajes cada par de segundos. ¿Hay un patrón mejor?

Debo prefijar esto diciendo que no sé mucho sobre Android o aSmack, pero eso no me impedirá tomar una puñalada en responder a su pregunta. Todos los derechos reservados

Creo que esto depende de su usecase, pero no puedo pensar en ninguna situación que usted necesita para hacer esto de la parte superior de mi cabeza. ¿El usuario de su aplicación tiene su propio JID en un servidor para el que se registraron? Si es así, no veo ninguna razón para conectarse a través de HTTP, a menos que sea compatible con aSmack. El principal caso de uso de BOSH / XMPP sobre HTTP se encuentra en el navegador en el que realmente no tiene acceso a los sockets sin procesar abiertos.

Si desea utilizar XMPP como un servicio de mensajería / notificación que el usuario no conoce, puede ser más complejo. Debo tener en cuenta que siempre se puede configurar un servidor XMPP en Google Compute Engine .

  • Xmpp + openfire + confirmación del servidor al remitente
  • Transferencia de archivos android con smack
  • No se puede conectar el cliente de Android con el servidor XMPP local
  • Filetransfer en android a través de xmpp?
  • Smack "No hay respuesta desde el servidor". No estoy seguro de por qué estoy recibiendo este error
  • Cómo hacer chat de voz y video en Android usando smack api
  • ¿Cómo usar Smack 4.2 para conectarse a ejabberd?
  • ¿Cómo puedo agregar un atributo personalizado (nick) en mi etiqueta de mensaje XMPP, en Smack 4.1
  • No se puede enviar o recibir presencia con ASmack
  • Autenticar a Google Talk (XMPP, Smack) mediante un authToken
  • Mensajes XMPP perdidos en Android mientras cambia la conectividad de datos (por ejemplo, activando Wifi de, GSM <-> Wifi)
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.