GAE XMPP Dienst als externe Komponente zu einem vorhandenen XMPP Server Implementierung (z.B. ejabberd oder Openfire)

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

Frage

kann ich wissen, was Integrationstechnik, die Sie Leute externe Komponente an einen bestehenden XMPP-Server zu implementieren verwenden, um (z ejabberd oder Openfire). Ist es durch xmpp Nachricht an einen anderen Benutzer @ externaldomain direkt senden oder mit Mechanismus wie urlfetch?

War es hilfreich?

Lösung

Google App Engine (Gae) unterstützt XMPP wie CLIENT .

Mit XMPP Gae JAVA-Client Funktion Sie können:

Mitteilung senden

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

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

Beachten Sie, dass JIDs kann nur sein, yourappid@appspot.com oder foo@yourappid.appspotchat.com weil Google-Domains werden noch nicht unterstützt.

Zum Beispiel könnten Sie ein Spielzeug Gae Anwendung mit einer einfachen Seite Handwerk mit:

  1. ein HTML-Formular Text senden
  2. Eine HTML-Tabelle, die die Liste der Nachrichten empfangen und gespeichert zu großen Tisch angezeigt werden soll.

Ihre Anwendung testen:

  1. Erstellen Sie ein Konto auf jabber.org
  2. Herunterladen Smack
  3. Versuchen Sie, eine Nachricht von Smack zu yourappid@appspot.com senden
  4. Versuchen Sie, eine Nachricht von Gae App zu youraccount@jabber.org
  5. senden

Falls Sie Ihren persönlichen XMPP-Server (Openfire) und läuft, einfach Schritt 1 überspringt und das Domänenkonto verwendet Nachricht von Ihrer Phantasie Gae App zu erhalten.

Haben Sie einen Blick auf XMPP Nachrichtenübermittlung zu verstehen, wie das funktioniert.

Andere Tipps

App Engine unterstützt eine sehr begrenzte Teilmenge von XMPP. Grundsätzlich können Sie Nachrichten senden (über die API), und Sie können Nachrichten empfangen (sie kommen in als HTTP-Anfragen).

Java API
Python API

Sie können eine externe Komponente auf Ihrem vorhandenen XMPP-Server rig, Nachrichten mit dem App Engine-Code senden und zu empfangen. Diese Komponente würde den Überblick behalten, was immer Sie wollen aus Ihrer App senden und empfangen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top