繁体   English   中英

Smack:消息触发“格式不正确”异常

[英]Smack: Message triggering "not-well-formed" exception

我正在尝试通过 Smack 将具有以下格式的字符串作为消息发送:

<STX>1<US>fileID<US>fileName<US>fileSize<US>senderID<US>stringEncodedByteArray<ETX>

我正在生成这样的参数:

String stringEncodedByteArray = Base64.getEncoder().encodeToString(bytes);
String fileID = java.util.UUID.randomUUID().toString();
String STX = Character.toString((char) 2);
String ETX = Character.toString((char) 3);
String US = Character.toString((char) 31);
String fileName = "file1";
String fileSize = "1000";
String senderID = "user1";

现在,当我尝试发送此消息时,收到以下错误:

org.jivesoftware.smack.AbstractXMPPConnection callConnectionClosedOnErrorListener WARNING: Connection XMPPTCPConnection[hemodd2@192.168.123.242/88381984845654635827858] (0) 关闭,错误 org.jives.这个流错误在http://xmpp.org/rfcs/rfc6120.html#streams-error-conditions not well-formed (invalid token)

似乎消息格式与 Smack 的内部工作方式发生冲突,因为我可以毫无问题地发送诸如“Hello World”之类的正常消息。 我知道我需要重新格式化消息,但我不知道应该如何处理。 我已经阅读了错误描述中的链接页面,但仍然不明白确切的问题。 任何帮助表示赞赏。

这不是 Smack 告诉您消息格式不正确,而是 XMPP 服务器。 这可能是由于使用了 XML 1.0 中不允许的 ASCII 控制字符造成的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM