JAXL XMPP Daemon для отправки и получения сообщений - PullRequest
1 голос
/ 22 февраля 2012

Я написал демон JAXL на PHP (Debian 6.0), который сидит и прослушивает входящие сообщения, а затем обрабатывает входящее сообщение, передавая полезную нагрузку в API. (прослушивает входящие сообщения на сервере user1 @)

Проблема в том, что я отправляю сообщение обратно пользователю. То, как я это сделал сейчас, - я запускаю другого демона XMPP, отправляю сообщение, затем выключаю демон. Проблема в том, что он запускает другого демона с JID user1 @ server для отправки на user2 @ server. Когда я выключаю JAXL, он также отключает «слушающего» демона.

Я подумал о том, чтобы снова запустить демон прослушивания при отправке сообщения, но для его запуска требуется слишком много времени (1-2 секунды), и мое приложение не может позволить себе такое время ожидания.

У кого-нибудь есть идеи, как мне решить эту проблему, возможно, с помощью прослушивающего демона для отправки сообщений?

Ответы [ 2 ]

2 голосов
/ 23 июля 2012

Так приятно слышать этот прогресс. Хотя из вашего примера кода $jaxl->sendMessage() кажется, что вы используете JAXL v2.x. Я бы настоятельно рекомендовал вам перейти на JAXL v3.x , если у вас нет жестко заданной зависимости от v2.x.

Вы можете следить за этой веткой группы Google Отправлять сообщение через существующее активное соединение , если вы планируете использовать v3.x, который теперь имеет официальный способ отправки полезной нагрузки xmpp путем связи с демоном xmpp, работающим в фон (IPC). Вы даже можете удаленно контролировать свои демоны xmpp и многое другое с v3.x.

1 голос
/ 27 февраля 2012

Просто для тех, кто заинтересован в этом, я закончил тем, что отредактировал JAXL для прослушивания сокета UDP во время работы демона, и, если данные получены на этом сокете UDP, тогда используется $ jaxl-> sendMessage (...) и отправьте сообщение.Затем я написал простую функцию, которая отправляет данные в этот сокет UDP всякий раз, когда я хочу отправить сообщение.

...