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