Smack 4.2在传出的节中不包含jabber:client

时间:2018-09-06 22:36:09

标签: xmpp smack prosody-im

我正在使用Smack 4.2来实现一个相当基本的XMPP聊天客户端。我正在使用Prosody XMPP服务器。 Prosody对所有传入的节中都要求“ xmlns = jabber:client”非常严格。 Smack 4.2在其传出节中不包含此属性。我尝试扩展Bind和Session节,并且可以使连接正常工作。但是,现在我要进入会议室了,我真的不想修改Smack的MUC代码,以便它可以接受修改后的状态消息。

请帮助!

2 个答案:

答案 0 :(得分:0)

我不知道为什么Prosody服务器需要它,在官方XEP-0045标准https://xmpp.org/extensions/xep-0045.html#enter

中没有关于它的任何内容

也许有一种方法可以在韵律方面禁用它

答案 1 :(得分:0)

Smack 4.3确实将xmlns添加到每个传出的IQ:https://github.com/igniterealtime/Smack/blob/master/smack-core/src/main/java/org/jivesoftware/smack/packet/Stanza.java#L518

这样至少可以解决xmlns问题。