implémentation du service GAE XMPP en tant que composant externe sur un serveur XMPP existant (par exemple, ejabberd ou OpenFire)

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

Question

puis-je savoir quelle technique d'intégration vous utilisez pour implémenter un composant externe sur un serveur XMPP existant (par exemple, ejabberd ou OpenFire). Est-il possible d'envoyer un message xmpp à un autre utilisateur @ externaldomain directement ou d'utiliser un mécanisme tel que urlfetch?

Était-ce utile?

La solution

Le moteur d'applications Google (Gae) prend en charge XMPP au même titre que CLIENT .

Avec XMPP fonctionnalité du client JAVA de Gae vous pouvez:

ENVOYER UN MESSAGE

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);               
}

RECEVOIR LE MESSAGE

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
  }
}

N'oubliez pas que les JID peuvent simplement être votredomaine@appspot.com OU foo@votreappid.appspotchat.com car les domaines Google ne sont pas encore pris en charge.

Par exemple, vous pouvez créer une application jouet Gae avec une simple page avec:

  1. Un formulaire HTML pour envoyer du texte
  2. Une table HTML qui affiche la liste des messages reçus et stockés dans une grande table.

Pour tester votre application:

  1. Créer un compte sur jabber.org
  2. Télécharger Smack
  3. Essayez d’envoyer un message de Smack à yourappid@appspot.com
  4. Essayez d'envoyer un message de Gae App à youraccount@jabber.org

Si votre serveur XMPP personnel (openfire) est opérationnel, ignorez simplement l'étape 1 et utilisez votre compte de domaine pour recevoir un message de votre fantastique appli Gae.

Consultez XMPP remise des messages pour comprendre comment cela fonctionne.

Autres conseils

App Engine prend en charge un sous-ensemble très limité de XMPP. En gros, vous pouvez envoyer des messages (via l’API) et en recevoir (ils se présentent sous la forme de requêtes HTTP).

API Java
API Python

Vous pouvez configurer un composant externe sur votre serveur XMPP existant pour envoyer et recevoir des messages avec le code de votre moteur d'application. Ce composant devrait garder trace de tout ce que vous voulez envoyer et recevoir de votre application.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top