使用EJABBERD-BUSINESS Edition

时间:2016-03-10 15:10:16

标签: android xmpp ejabberd smack

我想阅读发送到 ejabberd-business 版本服务器的重新绑定数据包的响应。 Smack库在日志中打印我的数据包,但我不明白如何在我的应用程序中获取该数据包,就像我在processPacket中获取其他数据包一样。

检查SMACK的代码,它在XMPPTCPConnection->parsePackets()中失败。因为parsePackets只检查一些特定的标签,例如“message”,“iq”,“presence”等。而我的数据包以“rebind”开头。

我需要能够接收此数据包,因为如果重新绑定不成功,那么我应该开始登录过程。

那么,我是否需要在Smack库代码中进行更改?或者有没有办法处理这个没有重新编译 SMACK

我想读的数据包:

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

1 个答案:

答案 0 :(得分:2)

事实上,Ejabberd商业版(eBE)确实实现了一个自定义的“重新绑定”功能,类似于会话管理中的“简历”功能(无论如何,ejabberd支持XEP-0198)。

我刚写了a small patch,将此功能添加到Smack 4.2.0(写作时刻的主分支)。希望它对您的客户开发有所帮助。请注意,您应该重复使用Smack xmpp tcp连接才能使此功能生效。