MQTT vs. XMPP ¿Cuál debo elegir?

Visión genera

Estoy enviando mensajes de ida y vuelta entre un cliente (teléfono Android) y un servidor (Windows Server). Usando una conexión persistente a través de TCP, qué protocolo sería la mejor solución. Estoy analizando el rendimiento, la escalabilidad, el tamaño de los mensajes y la duración de la batería. Los mensajes deben llegar al destino en orden y no pueden ser duplicados.

MQTT

Esta parece ser la mejor solución, pero parece haber pequeños ejemplos de implementación grande con muchos usuarios. No estoy seguro si puedo integrar esto en el servidor de Windows, o si tendría que ser otra aplicación o servidor en ejecución. Finalmente, parece haber una falta de información al respecto en general.

XMPP

Esto parece tener mucha implementación, ejemplos e incluso un libro:). Sin embargo, el objetivo principal parece ser para clientes de mensajería instantánea y cosas como Google talk. ¿Será esta una solución óptima para la mensajería entre el servidor y el cliente? Sé que actualmente XMPP se usa principalmente en arquitecturas de cliente a servidor a cliente.

Corríjame si me equivoco y gracias de antemano por cualquier orientación.

Respuestas a la pregunta(3)

Su respuesta a la pregunta