implementação do serviço GAE XMPP como um componente externo para um servidor XMPP existente (por exemplo ejabberd ou OpenFire)

StackOverflow https://stackoverflow.com/questions/1641959

Pergunta

pode eu sei o que técnica de integração que pessoas usam para implementar componente externo para um servidor XMPP existente (por exemplo ejabberd ou OpenFire). É através do envio de mensagem de xmpp para outro usuário @ externaldomain diretamente ou usando o mecanismo de como urlfetch?

Foi útil?

Solução

Google App Engine (GAE) suporta XMPP, assim como CLIENTE .

Com o recurso cliente XMPP Gae JAVA você pode:

MENSAGEM ENVIAR

JID jid = new JID("youraccount@jabber.org");
Message msg = new MessageBuilder()
    .withRecipientJids(jid)
    .withBody("Hello i'm a fancy GAE app, how are you?")
    .build();                    
XMPPService xmpp = XMPPServiceFactory.getXMPPService();
if (xmpp.getPresence(jid).isAvailable()) {
   SendResponse status = xmpp.sendMessage(msg);               
}

RECEBE MENSAGEM

public class XMPPReceiverServlet extends HttpServlet {
  public void doPost(HttpServletRequest req, HttpServletResponse res)
          throws IOException {
    XMPPService xmpp = XMPPServiceFactory.getXMPPService();
    Message message = xmpp.parseMessage(req);    
    JID fromJid = message.getFromJid();
    String body = message.getBody();
    //Save to Big Table
  }
}

Lembre-se que JIDs pode ser apenas yourappid@appspot.com ou foo@yourappid.appspotchat.com porque os domínios do Google ainda não são suportados.

Por exemplo, você poderia criar um aplicativo de Gae brinquedo com uma página simples com:

  1. um formulário HTML para enviar mensagens de texto
  2. Uma tabela HTML que mostra a lista de mensagens recebidas e armazenadas a grande mesa.

Para testar o aplicativo:

  1. Crie uma conta no jabber.org
  2. Baixar Bater
  3. Tente enviar uma mensagem de Bater a yourappid@appspot.com
  4. Tente enviar uma mensagem de Gae App para youraccount@jabber.org

No caso de você ter o seu servidor XMPP pessoal (openfire) instalado e funcionando, simplesmente ignore o passo 1 e usar sua conta de domínio para receber a mensagem de sua fantasia Gae App.

Tenha um olhar para XMPP entrega de mensagens para entender como isso funciona.

Outras dicas

App Engine suporta um subconjunto muito limitado de XMPP. Basicamente, você pode enviar mensagens (através da API), e você pode receber mensagens (eles vêm em como solicitações HTTP).

Java API
Python API

Você poderia rig-se um componente externo no seu servidor XMPP existente, para enviar e receber mensagens com o seu código app engine. Esse componente teria que manter o controle de tudo o que você deseja enviar e receber de sua aplicação.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top