2014-04-07 7 views
6

Hallo Ich erstelle eine Android-App als XMPP-Client zu einem Ejabbered-Server.Unterschied zwischen Smack-Paket-Listener und Nachrichten-Listener

Aber ich bin wirklich verwirrt, weil ich gesehen habe, dass ich Nachrichten als apacket oder Nachrichten auch senden kann, kann ich Nachrichten unter Verwendung PacketListener und empfangen.

Was ist der Unterschied zwischen PacketListener und MessageListener und was ist der gute Weg, um Nachrichten zu empfangen? Paketlistener oder Nachrichtenlistener verwenden?

Antwort

1

MessageListener ist eine High-Level-Schnittstelle, nur um mit Nachrichten umzugehen, PacketListener ist komplexer "Werkzeug", um benutzerdefinierte Pakete anzupassen und zu verarbeiten und benutzerdefinierte XMPP-Erweiterungen zu schreiben. Wenn MessageListener für Ihre Bedürfnisse geeignet ist - verwenden Sie sie einfach.

5

MessageListener hören nur die Pakete ab, die Nachrichten betreffen, während PacketListener auf alle Arten von Paketen wartet, die nachrichtenbezogene Pakete, abonnementbezogene Pakete, einladungsbezogene Pakete enthalten können. Es kann auf alle vom Server gesendeten xml-Pakete warten Es wird kein Filter angewendet. Sie können auch Filter hinzufügen, um bestimmte Pakete zu filtern. Es wird auch für benutzerdefinierte Prozess-Pakete verwendet und schreibt benutzerdefinierte XMPP-Erweiterungen