Xmpp Openfire发送空的(没有标签属性)jabber:x:延迟扩展到smack
我从openfire服务器收到脱机消息,但它包含空的jabber:x:delay扩展名 我收到的信息是:Xmpp Openfire发送空的(没有标签属性)jabber:x:延迟扩展到smack,xmpp,openfire,smack,Xmpp,Openfire,Smack,我从openfire服务器收到脱机消息,但它包含空的jabber:x:delay扩展名 我收到的信息是: <message id="qU7N8-64" to="ac1@server.jj.ru" from="ac2@server.jj.ru/4847791" type="chat"> <body>test message</body> <delay xmlns="urn:xmpp:delay"></delay>
<message id="qU7N8-64" to="ac1@server.jj.ru" from="ac2@server.jj.ru/4847791" type="chat">
<body>test message</body>
<delay xmlns="urn:xmpp:delay"></delay>
<x xmlns="jabber:x:delay"></x>
</message>
测试消息
我通过smack库收到此消息
但当我使用Miranda IM连接到openfire时,openfire会发送带有数据的扩展jabber:x:delay
为什么openfire发送空的jabber:x:delay只是为了smack library?openfire没有做任何不同的事情,因为它不知道(或关心)连接了什么客户端。您正在显示的数据包非常特殊,因为它包含延迟交付的旧版本和当前版本,但在这两个版本中都缺少必需的属性 尝试运行VM参数-Dsmack.debugEnabled=true集。然后检查传入的原始数据包的实际消息内容。最有可能发生的事情有两种
连接后添加此行
ProviderManager.getInstance()addExtensionProvider("x","jabber:x:delay", new DelayInformationProvider());
Smack不分析消息中的戳记属性。