GCM do Android: entendendo o XMPP
Estou tentando implementar um protocolo XMPP no meu GCM usando o aplicativo, mas mesmo depois de pesquisar bastante, não entendo os conceitos por trás dele.
Além disso, talvez eu realmente não precise do XMPP para o que quero fazer com meu aplicativo, mas gosto de aprender.
Vamos dar um exemplo do que eu poderia fazer com o HTTP:
meu aplicativo envia "hello word" e o registro para o meu pequeno servidor pessoal:url.openConnection("")
, entãoOutputStream
para enviar dados POST eInputStream
por obter a resposta
o servidor, nesse URL, coloca a mensagem "hello word" em um banco de dados com o regId e, em seguida, usa a biblioteca curl do php para enviar dados aos servidores GCM como uma string json como{"myResponse":"I'm not world I'm Dan"}
(usando um ID de destino do teste, em um emulador)
Servidor GCM faz seus negócios
meu aplicativo (talvez em outro telefone) use umIntentService
em umWakefulBroadcastReceiver
que recebem a mensagem comointent.getExtras().getString("myResponse")
Isso funciona bem e eu poderia enviar mensagens de um telefone para outro usando meu aplicativo e coletando dados no meu servidor.
Muito pouca perguntaEssa maneira de lidar com HTTP está bem? (Vi muitas postagens e tutoriais, especialmente os do Google, mas ainda não tenho certeza)
Big real QuestionQuais são as etapas para fazer o mesmo com o XMPP?
Não quero um tutorial ou partes de códigos, quero entender como as informações passam por esse protocolo que não conheço bem (consegui instalar o ejabberd no meu servidor e usar o pidgin no meu PC e o Xabber no meu telefone )