2016-03-10 1 views
0

Я хотел прочитать ответ перепривязывает пакет я послал к ejabberd-бизнес сервера издания. Библиотека Smack печатает мои пакеты в журналах, но я не понимаю, как я получу этот пакет в своем приложении, например, я получаю другие в processPacket.Рида Пересвяжите 'Packet после того, как поток возобновления привкуса с EJABBERD-Business Edition

Проверьте код SMACK, он не работает XMPPTCPConnection->parsePackets(). Поскольку parsePackets проверяет только определенные теги, например «сообщение», «iq», «наличие» и т. Д. Пока мой пакет начинается с «повторной проверки».

Мне нужно получить этот пакет, потому что если повторная попытка не удалась, то я должен начать процесс входа в систему.

Итак, мне нужно внести изменения в код библиотеки Smack? или есть ли способ справиться с этим без перекомпиляции SMACK?

Packet Я пытаюсь читать:

<rebind xmlns='my:namespace:rebind'/> 
+0

Вы действительно не должны изобретать новые события верхнего уровня. Что делает ваша «переподготовка», которую вы не можете достичь со стандартным XMPP? – Flow

+0

Извините, я редактировал свой вопрос сейчас, его бизнес-сервер ejabberd, поэтому я использую его функцию возобновления потока. – Farhan

+0

И вы не можете использовать Stream Management (XEP-0198), который поддерживается Smack, потому что? – Flow

ответ

2

Действительно, Ejabberd Business Edition (ВБР) делает реализацию пользовательских '' перепривязывают имеют аналогичный 'резюме' один из сеанса управления (в любом случае, ejabberd поддерживает XEP- 0198).

Я только что написал a small patch, добавляющий эту функцию к Smack 4.2.0 (ведущая ветвь в этот момент написания). Надеюсь, это полезно для развития вашего клиента. Пожалуйста, примите во внимание, что вы должны повторно использовать ваше smc xmpp tcp для эффективной работы этой функции.

+0

+1 для усилий. Я делал то же самое на оригинальном коде SMACK-4.1.6, так как мы использовали это. Можно ли использовать вилку processone? – Farhan

+0

Да, мы добавим в него дополнительные функции от eBE. – gauchofunky

+0

, так что в основном я должен построить библиотеку SMACK и разместить jars в папке libs, что я сделал ранее, но не смог передать эту ошибку времени выполнения: VerifyError .. "https://community.ignitrealtime.org/thread/55269" to быть точным. Не могли бы вы подтвердить, какие банки мне нужны? – Farhan

Смежные вопросы