Frage

Ich habe einen JAXL-Daemon in PHP (Debian 6.0) geschrieben, der eingehende Nachrichten abhört und abhört und dann die eingehende Nachricht verarbeitet, indem die Nutzdaten an eine API übergeben werden.(Lauscht auf eingehende Nachrichten auf Benutzer1 @ Server)

Ich habe dann Probleme, eine Nachricht an den Benutzer zurückzusenden.So wie ich es jetzt gemacht habe, starte ich einen anderen XMPP-Dämon, sende die Nachricht und schalte den Dämon aus.Das Problem dabei ist, dass ein anderer Daemon mit der JID user1 @ server gestartet wird, um ihn an user2 @ server zu senden.Wenn ich JAXL herunterfahre, wird auch der 'Listening'-Daemon heruntergefahren.

Ich habe überlegt, den Listening-Daemon beim Senden der Nachricht erneut zu starten, aber der Start dauert zu lange (1-2 Sekunden), und meine App kann sich diese Wartezeit nicht wirklich leisten.

Hat jemand eine Idee, wie ich das lösen könnte, vielleicht indem ich den Listening-Daemon auch zum Senden von Nachrichten verwende?

War es hilfreich?

Lösung 2

Nur für alle, die daran interessiert sind, habe ich JAXL bearbeitet, um einen UDP-Socket abzuhören, während der Daemon ausgeführt wird. Wenn Daten auf diesem UDP-Socket empfangen werden, wird $ jaxl-> sendMessage (...) und senden Sie eine Nachricht.Ich habe dann eine einfache Funktion geschrieben, die Daten an diesen UDP-Socket sendet, wann immer ich eine Nachricht senden möchte.

Andere Tipps

Es ist so schön, diesen Fortschritt zu hören.Aus Ihrem Beispielcode $jaxl->sendMessage() geht jedoch hervor, dass Sie JAXL v2.x verwenden.Ich würde Ihnen ernsthaft empfehlen, ein Upgrade auf JAXL v3.x durchzuführen, wenn Sie keine fest codierte Abhängigkeit habenauf v2.x.

Sie können diesem Google-Gruppenthread folgen Senden Sie eine Nachricht über eine vorhandene aktive Verbindung Wenn Sie die Verwendung von v3.x in Betracht ziehen, die jetzt eine offizielle Möglichkeit zum Senden von xmpp-Nutzdaten bietet, indem Sie mit einem im Hintergrund ausgeführten xmpp-Daemon kommunizieren (IPC).Mit v3.x können Sie sogar Ihre xmpp-Daemons und vieles mehr fernsteuern.

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