MQTT x XMPP Qual devo escolher?

Visão globa

Estou enviando mensagens entre um cliente (telefone Android) e um servidor (Windows Server). Usando uma conexão persistente por TCP, qual protocolo seria a melhor solução. Estou analisando desempenho, escalabilidade, tamanho das mensagens e duração da bateria. As mensagens devem chegar ao destino em ordem e não podem ser duplicadas.

MQTT

Esta parece ser a melhor solução, mas parece haver pequenos exemplos de grande implementação com muitos usuários. Não tenho certeza se posso integrar isso ao servidor Windows ou se teria que ser outro aplicativo ou servidor em execução. Finalmente, parece haver uma falta de informações sobre isso em geral.

XMPP

Isto parece ter muita implementação, exemplos e até um livro:). No entanto, o principal objetivo parece ser para clientes de mensagens instantâneas e coisas como o Google talk. Essa será uma solução ideal para mensagens entre servidor e cliente. Eu sei que atualmente o XMPP é usado principalmente em arquiteturas cliente a servidor para client

Corrija-me se estiver errado e agradeço antecipadamente por qualquer orientação.

questionAnswers(3)

yourAnswerToTheQuestion