Question

J'ai écrit un démon Jaxl dans PHP (Debian 6.0) qui s'assoit et écoute les messages à venir, puis traitez le message entrant en passant la charge utile à une API. (écoute les messages entrants sur user1 @ serveur)

Le problème que je rencontre est ensuite de renvoyer un message à l'utilisateur. La façon dont je l'ai fait maintenant est que je commence un autre démon XMPP, envoyez le message, puis arrête le démon. Le problème avec cela est qu'il commence un autre démon avec le serveur jid user1 @ pour envoyer à user2 @ serveur. Lorsque j'arrête Jaxl, cela arrête également le démon «écoute».

J'ai envisagé de recommencer le démon d'écoute lorsque j'envoie le message, mais cela prend trop de temps pour commencer (1-2 secondes) et mon application ne peut pas vraiment se permettre ce temps d'attente.

Quelqu'un a-t-il des idées sur la façon dont je pourrais résoudre ce problème, peut-être en utilisant le démon d'écoute pour envoyer des messages également?

Était-ce utile?

La solution 2

Juste pour tous ceux qui sont intéressés par cela, j'ai fini par éditer Jaxl pour écouter sur une prise UDP pendant que le démon fonctionne, et si les données sont reçus sur cette prise UDP est alors utilise $ jaxl-> sendMessage (...) et envoyer un message. J'ai ensuite écrit une fonction simple qui envoie des données à cette prise UDP chaque fois que je souhaite envoyer un message.

Autres conseils

Tellement agréable d'entendre ces progrès. Bien que de votre exemple de code $jaxl->sendMessage() Il semble que vous utilisez Jaxl V2.x. Je vous recommanderais sérieusement de mettre à niveau vers Jaxl v3.x Si vous n'avez pas de dépendance codée dure à V2.x.

Vous pouvez suivre ce fil de groupe Google Envoyer un message via une connexion active existante Si vous envisagez d'utiliser V3.x qui ont désormais un moyen officiel d'envoyer la charge utile XMPP en communiquant avec un démon XMPP en arrière-plan (IPC). Vous pouvez même contrôler à distance vos démons XMPP et bien plus encore avec V3.x.

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