我正在处理 UDP 并发送一些消息。一条消息包含二进制 XML,我正在使用带有以下代码的 KXML2 。它运行良好。在 UDP 上,我必须在 DatagramPacket 处获取一个固定缓冲区。使用从 DatagramPacket 获取的这个字节数组并运行我的 KXML2 函数,每次出现“意外 EOF”异常时都会触发。
myPacket = new DatagramPacket( new byte[1024], 1024);
InputStream in = new ByteArrayInputStream(myPacket.getData());
WbxmlParser parser = new WbxmlParser();
parser.setInput(in, "UTF-8");
org.kxml2.kdom.Document dom = new org.kxml2.kdom.Document();
dom.parse(parser);
在 'dom.parse(parser);' 处引发异常 任何想法,正确的 EOF 看起来如何?也许可以将二进制 xml blob 的大小放在包的开头并提取数据,但这对我来说只是第二种方式。