Frage

Ich schreibe ein XMPP-Client in Java den Smack-API verwenden.

ich registrierte ein Register Hörer für jeden Benutzer und die Smack-API-Aufrufe ...

public void entriesAdded(Collection arg0) {}

... jedes Mal bemerkt eine Roster hinaus.

Wer weiß, ob diese Hörer, wenn die Datenbankänderungen werden den Weg, aber nicht durch die Smack API create () Methode?

Grundsätzlich mag ich das XMPP-Client auf eine Website binden. Wenn Sie jemanden auf der Website Freundesliste hinzufügen, möchte ich die Seite den Client zu informieren. Anstatt Buchsen Einrichten oder PHP in den XMPP-Server anmelden verwenden, ich hatte gehofft, dass nur die Datenbank modifizieren funktionieren würde.

Wird oder diese Arbeit gibt es eine andere Möglichkeit, dies auf die Datenbank für Änderungen, ohne dass der Kunde ständig Polling zu behandeln?

War es hilfreich?

Lösung

die Datenbank ändern, hat nichts mit Smack direkt zu tun, da es sich um eine Client-Bibliothek ist. Es hat keine Datenbank. Die Datenbank wird vom Server verwendet und zugegriffen werden, und in Abhängigkeit von dem Server, kann es Funktionen, die die Server-Nachrichten ermöglicht zu schreiben, wenn der db geändert wurde. Ich weiß nicht, ob irgendwelche xmpp Server tatsächlich diese Funktion.

Sie sollten die Fähigkeiten des Servers überprüfen Sie verwenden, und eventuell Erweiterungen auf dem Server verwenden, selbst die Roster Einträge hinzuzufügen. Ändern die Datenbank direkt klingt nicht wirklich, wie die Art und Weise zu gehen, da Sie am ehesten Ihren XMPP-Server und Datenbank out of sync haben.

Wie für die Client-Abfrage der Datenbank, ist es nicht wie eine gute Idee klingt für den Client in der Lage sein, direkt auf die Datenbank zugreifen, wenn sie von einem XMPP-Server verwendet wird und möglicherweise die Webserver.

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