No começo, pensei que provavelmente era uma instância da nuvem do Android para o sistema de mensagens do dispositivo , mas não pode ser: o WhatsApp não declara as permissões necessárias e funciona no Eclair (Android 2.1), enquanto o sistema de mensagens da nuvem para o dispositivo ( e sua substituição, o Google Cloud Messaging) requer pelo menos o Froyo (Android 2.2).
No entanto, é mais provável que seja algum tipo de serviço de notificação por push . É impossível dizer exatamente como é implementado sem acesso ao código-fonte do WhatsApp.
A parte de poder receber mensagens quando não está em uso é relativamente fácil de explicar. O aplicativo quase certamente possui um serviço que é executado em segundo plano para fazer check-in periodicamente com o servidor (ou receber o push do servidor ou o que ele fizer). Quando você recebe uma mensagem, o serviço exibe uma notificação.
Quanto à questão de como o servidor poderia fazer um push, eis uma possibilidade (novamente, não posso verificar sem o código-fonte):
- O WhatsApp inicia e abre dois soquetes: um para escutar e outro para enviar uma mensagem ao servidor.
- O WhatsApps começa a ouvir no primeiro soquete.
- O WhatsApp envia uma mensagem contendo o seu número de telefone e a porta do soquete de escuta para o servidor e aguarda uma confirmação.
- O servidor registra os números de telefone e porta na mensagem e o endereço IP de onde a mensagem veio.
- O servidor envia uma confirmação para o aplicativo.
- O aplicativo recebe o reconhecimento e fecha o soquete da mensagem.
- Uma mensagem com o seu número de telefone conforme o destino entra no servidor.
- O servidor usa o endereço IP e o número da porta que ele associou ao seu número de telefone e usa essas informações para enviar a mensagem para o seu telefone.
Para que isso funcione, o aplicativo precisará monitorar o estado da conexão de rede e redefinir o soquete de escuta / reenviar a mensagem de registro quando necessário (se o endereço IP mudar, por exemplo).