Xmpp &引用;无法分析存在数据包中的扩展数据包";错误,导致断开连接,带有Smack

Xmpp &引用;无法分析存在数据包中的扩展数据包";错误,导致断开连接,带有Smack,xmpp,smack,Xmpp,Smack,我已经实现了一个聊天客户端,它可以永远在线,并向不同的XMPP用户发送消息。该客户机连接到ejabberd服务器,并使用Smack在java中实现 在1分钟后,客户端离线,然后在大约15秒内恢复在线。出现在客户端控制台上的日志如下所示: java.io.EOFException: no more data available - expected end tag </stream:stream> to close start tag <stream:stream> fro

我已经实现了一个聊天客户端,它可以永远在线,并向不同的XMPP用户发送消息。该客户机连接到ejabberd服务器,并使用Smack在java中实现

在1分钟后,客户端离线,然后在大约15秒内恢复在线。出现在客户端控制台上的日志如下所示:

java.io.EOFException: no more data available - expected end tag </stream:stream> to close start tag <stream:stream> from line 1, parser stopped on END_TAG seen...erd.cloudservicesplatform.biz/cspb2\' id=\'t5f8L-12\' type=\'result\'/>... @1:1264
at org.xmlpull.mxp1.MXParser.fillBuf(MXParser.java:3035)
at org.xmlpull.mxp1.MXParser.more(MXParser.java:3046)
at org.xmlpull.mxp1.MXParser.nextImpl(MXParser.java:1144)
at org.xmlpull.mxp1.MXParser.next(MXParser.java:1093)
at org.jivesoftware.smack.PacketReader.parsePackets(PacketReader.java:279)
at org.jivesoftware.smack.PacketReader.access$000(PacketReader.java:44)
at org.jivesoftware.smack.PacketReader$1.run(PacketReader.java:70)
Failed to parse extension packet in Presence packet.
java.io.EOFException: no more data available - expected end tag </stream:stream> to close start tag <stream:stream> from line 1, parser stopped on END_TAG seen
...<query xmlns=\'jabber:iq:version\'/>\n</iq>... @6:6
at org.xmlpull.mxp1.MXParser.fillBuf(MXParser.java:3035)
at org.xmlpull.mxp1.MXParser.more(MXParser.java:3046)
at org.xmlpull.mxp1.MXParser.nextImpl(MXParser.java:1144)
at org.xmlpull.mxp1.MXParser.next(MXParser.java:1093)
at org.jivesoftware.smack.PacketReader.parsePackets(PacketReader.java:279)
at org.jivesoftware.smack.PacketReader.access$000(PacketReader.java:44)
at org.jivesoftware.smack.PacketReader$1.run(PacketReader.java:70)
Failed to parse extension packet in Presence packet.
java.io.EOFException: no more data available - expected end tag </stream:stream> to close start tag <stream:stream> from line 1, parser stopped on END_TAG seen
...=\'cspbox107@dev-ejabberd.cloudservicesplatform.biz\'/></query></iq>... @6:292
at org.xmlpull.mxp1.MXParser.fillBuf(MXParser.java:3035)
at org.xmlpull.mxp1.MXParser.more(MXParser.java:3046)
at org.xmlpull.mxp1.MXParser.nextImpl(MXParser.java:1144)
at org.xmlpull.mxp1.MXParser.next(MXParser.java:1093)
at org.jivesoftware.smack.PacketReader.parsePackets(PacketReader.java:279)
at org.jivesoftware.smack.PacketReader.access$000(PacketReader.java:44)
at org.jivesoftware.smack.PacketReader$1.run(PacketReader.java:70)
Failed to parse extension packet in Presence packet.
java.io.EOFException:没有更多可用数据-预期结束标记关闭第1行的开始标记,解析器在看到结束标记时停止…erd.cloudservicesplatform.biz/cspb2\'id=\'t5f8L-12\'type=\'result\'/>@1:1264
位于org.xmlpull.mxp1.MXParser.fillBuf(MXParser.java:3035)
更多(MXParser.java:3046)
位于org.xmlpull.mxp1.MXParser.nextImpl(MXParser.java:1144)
位于org.xmlpull.mxp1.MXParser.next(MXParser.java:1093)
位于org.jivesoftware.smack.PacketReader.parsePackets(PacketReader.java:279)
访问org.jivesoftware.smack.PacketReader.access$000(PacketReader.java:44)
位于org.jivesoftware.smack.PacketReader$1.run(PacketReader.java:70)
无法分析存在数据包中的扩展数据包。
java.io.EOFException:没有更多可用数据-预期结束标记关闭第1行的开始标记,解析器在看到结束标记时停止
…\n@6:6
位于org.xmlpull.mxp1.MXParser.fillBuf(MXParser.java:3035)
更多(MXParser.java:3046)
位于org.xmlpull.mxp1.MXParser.nextImpl(MXParser.java:1144)
位于org.xmlpull.mxp1.MXParser.next(MXParser.java:1093)
位于org.jivesoftware.smack.PacketReader.parsePackets(PacketReader.java:279)
访问org.jivesoftware.smack.PacketReader.access$000(PacketReader.java:44)
位于org.jivesoftware.smack.PacketReader$1.run(PacketReader.java:70)
无法分析存在数据包中的扩展数据包。
java.io.EOFException:没有更多可用数据-预期结束标记关闭第1行的开始标记,解析器在看到结束标记时停止
...=\'cspbox107@dev-ejabberd.cloudservicesplatform.biz\'/>@6:292
位于org.xmlpull.mxp1.MXParser.fillBuf(MXParser.java:3035)
更多(MXParser.java:3046)
位于org.xmlpull.mxp1.MXParser.nextImpl(MXParser.java:1144)
位于org.xmlpull.mxp1.MXParser.next(MXParser.java:1093)
位于org.jivesoftware.smack.PacketReader.parsePackets(PacketReader.java:279)
访问org.jivesoftware.smack.PacketReader.access$000(PacketReader.java:44)
位于org.jivesoftware.smack.PacketReader$1.run(PacketReader.java:70)
无法分析存在数据包中的扩展数据包。

直到收到格式错误的状态节时,3.3.0才会抛出异常。此行为随时间而改变

你应该:

  • 更新至Smack的最新版本(即编写本文时的3.4.1)
  • 通知开发人员错误节的源库/程序
编辑:仔细查看日志后,由于您没有提到使用过的Smack版本,似乎您只是收到了一个导致断开连接的错误节(即使在Smack 3.4.1上,这也是一个不可恢复的错误)