socket接收连续xml数据解决办法 RT,接受xml然后转换成字符串,但是有时候,由于发送速度和网络传输速度影响,可能一次会接受几个完整的xml,但是还是要解析转换成的str,一个办法就是根据跟节点来讲这个解析出来的str分成几个完整的xml,然后添加入队列维护,从而解决了上述问题。不知道还有没有什么更好的常用的办法。?socketxml网络 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 固定结构(xml数据可变长),但提供长度信息。比如0ff0(结构开始符号)xxxx(xml字节长度,例子是一个字节,如果不够长,可定义多个)yyyy(开始传递xml数据)yyyy......zzzz(校验部分,这里写校验信息)f00f(结构结束)这种数据传递结构,常常在串口使用,想来socket也很好用吧每一对0ff0和f00f之间是一个xml记得如果是串口的话,最好去看下海明距离啥的。socket。。个人觉得应该可以随意定 用socket传输数据,你要定义好自己的传输协议,就像一楼说的方式。 确实,你这个办法是更加严密的方法,思想是一样的,谢谢你。如果简单一点,每个xml数据的根元素不变,然后每次都会根据根元素这个结束标志来拆分xml,这样比较简单。 严格xml的话就不需要什么协议,字符串流已经足够。一边传输一边parse:如果看到<tag>,就放进栈,如果看到</tag>,就出栈,当你的栈空了,你就知道一个完整的xml出现了 既然得到了字符串,就直接进行拆分啊,直接根据相关的元素标记生成新的完整的xml即可。 既然得到了字符串,就直接进行拆分啊,直接根据相关的元素标记生成新的完整的xml即可。假设你收到了个xml长成这样:<root> <!-- <root> ... </root> --></root>如果不做进一步的解析,直接用字符串split,会错的 既然得到了字符串,就直接进行拆分啊,直接根据相关的元素标记生成新的完整的xml即可。假设你收到了个xml长成这样:<root> <!-- <root> ... </root> --></root>如果不做进一步的解析,直接用字符串split,会错的所以说就需要自己定义一套xml规范啊,保证跟元素的唯一性和不会由于解析规则而出现错误解析。不过,你说的这个方法也是确实可行的,也更加的健壮。 如果这么做,你只有读到</root>字符串,才能判断一个xml结束。首先,希望你用到的堆栈要足够大;其次,读到<!-- 要读到其真正对应的-->(如果字符串里有多个-->,你得想办法知道哪个是最后的,或许换行符是个好办法; 要判断一个字符串首先是不是完整,其次才是不是严格的xml,这个难道都要在socket里实现?有这个必要吗? java设计模式小问题 面向对象读取xml文件的内容是出现问题 链表小白题 鼠标绘图paint保存图象的问题 一个关于socket传文件的问题 是否有办法得知一个网站所用的web应用服务器是什么? package是怎么用的??? 我是新手,有个地方不太懂~ 请教各位了 请教关于JAVA编写DOM的初级问题,望高手提鞋!!! 各位高手看过来!定给粉! 求助如何用jfreechart画出横纵坐标都是日期的xy图? 求助:一道数据结构与算法的面试机试题
比如
0ff0(结构开始符号)
xxxx(xml字节长度,例子是一个字节,如果不够长,可定义多个)
yyyy(开始传递xml数据)
yyyy
......
zzzz(校验部分,这里写校验信息)
f00f(结构结束)这种数据传递结构,常常在串口使用,想来socket也很好用吧
每一对0ff0和f00f之间是一个xml
记得如果是串口的话,最好去看下海明距离啥的。socket。。个人觉得应该可以随意定
一边传输一边parse:如果看到<tag>,就放进栈,如果看到</tag>,就出栈,当你的栈空了,你就知道一个完整的xml出现了
假设你收到了个xml长成这样:
<root>
<!-- <root> ... </root> -->
</root>
如果不做进一步的解析,直接用字符串split,会错的
假设你收到了个xml长成这样:
<root>
<!-- <root> ... </root> -->
</root>
如果不做进一步的解析,直接用字符串split,会错的
所以说就需要自己定义一套xml规范啊,保证跟元素的唯一性和不会由于解析规则而出现错误解析。不过,你说的这个方法也是确实可行的,也更加的健壮。
首先,希望你用到的堆栈要足够大;
其次,读到<!-- 要读到其真正对应的-->(如果字符串里有多个-->,你得想办法知道哪个是最后的,或许换行符是个好办法;