Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/203.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
数据包到xml_Xml_Android_Packet_Datagram - Fatal编程技术网

数据包到xml

数据包到xml,xml,android,packet,datagram,Xml,Android,Packet,Datagram,我正在尝试用XMLPullParser解析Soap ProbeMatch消息。我通过UDP多播接收此消息。我使用以下代码来接收它 byte[] buf = new byte[1900]; DatagramPacket packet = new DatagramPacket(buf, buf.length); mSocket.receive(packet); // Damn ugly.... String data = new String(packet.getData()) 如果我将字节[

我正在尝试用XMLPullParser解析Soap ProbeMatch消息。我通过UDP多播接收此消息。我使用以下代码来接收它

byte[] buf = new byte[1900];
DatagramPacket packet = new DatagramPacket(buf, buf.length);

mSocket.receive(packet);

// Damn ugly....
String data = new String(packet.getData())
如果我将字节[]转换为字符串,解析器不会接受它。。。还有更优雅的方法吗

当我打印xml(作为字符串)时,我会在字符串末尾得到未使用的字节:

</s12:Envelope>À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?
在本次事件中,从从192年的《192年的码码>的自192年的自192年的自192年的自192年的自192年的自192年的自192年的自192年的自192年以来的的自192年的自192年的自自192年的自192年的自192年的自自192年的自192年的自192年的自192年的自192年的自自192年的自自自192年的自自自192年的自192年的自自自自192年的自自192年的自自192年的自自自自192年的自自192年的自自192年的自192年的自自自自192年的自自192年的自192年的自自自自192年的自自192年的自192年的自192年的自自自自自自自自自自自192年的自192年的自自自192年的自自192年的自自192年的自自192年的自自自自192年的的自192年以来的自192年以来的自192年以来的自192年以来的自192年以来的自192年以来的自192年以来的自192年以来的自192年的自192年以来的自192年的自192年以来的自192年以来的自192年的自192年的自192年的自192年的自192年的自192年的自192年的自192年的自192年的自自192年的自自自自192年的自自自192年的自自192年的自自自自192年的自自自自192年的自192年的自自自自自自自192年的自自自192年的自192年的自自192年的自自自192年的自自自自自192年的自192年的自自192年的自自192年的自自自自自自自自自自自自192年的自192年的自自自192年以来以来以来以来的自192年的自自自自自自自自自自自192年的自À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?
首先,我认为您需要按如下方式构造字符串:

String data = new String(packet.getData(), 
                         packet.getOffset(), 
                         packet.getLength());

至于有没有更好的办法。AIUI不是真的,尽管可能有第三方API使填充/清空数据报更加容易,因为所有的字节打包都非常精细。

谢谢,就这样!工作正常:)