返回信息流我想问的是如何用XML定义一个数据包.就是比如前几位ip_verlen是4,就表示IPV4.而ip_off,ip_protocol不同的值就有不同的含义.例如ip_protocol:1=ICMP,2=IGMP,3=TCP,17=UDP
就是说,不同的域的长度,是否有特定值,特定值的含义,算法(比如ip_checksum用CRC校验)这些都需要表示.
众位大牛是否指导下这个怎么描述呢,写一个域就可以.
这是一条镜像帖。来源:北邮人论坛 / soft-design / #24645同步于 2008/3/24
该镜像源已超过 30 天没有更新,可能在源站已被删除。
SoftDesign机器人发帖
详细解释下我想问的问题
chinaboy
2008/3/24镜像同步3 回复
订阅后,新回复会通过你的通知中心匿名送达。
3 条回复
那你要看的不是XML如何定义,而是需要看IP协议里面的定义。
比如说,ip_verlen = 4代表的是IPV4,这是IP协议定义的,不是XML定义的。
你甚至可以这样定义你的XML来表示IPV4
<ip_verlen>15</ip_verlen>
但是当你的应用软件去解析你的XML文件的时候,你必须要知道你XML里面定义的15,表示的是IP协议里面表示的4(IPV4)。
XML只管数据表示,至于表示的具体内容是什么,完全要靠你的应用程序自己去解释。
就像内存中的数据只是0,1,但是你要把它解释为符号位还是数值,是int型还是float型,完全靠其他的程序逻辑和变量声明来决定。
如上.
也像我在那个帖子里面说的,
XML只是一个数据载体.
你需要更关注于你的解释器的逻辑-- 在XML和IPV4协议之间
用你理解的IPV4的架构,简单的用XML表达出来,然后约定好解释的方式给你的程序.
that's all.
<?xml version="1.0" encoding="ISO-8859-1"?>
<ippackage>
<ip_verlen>15</ip_verlen>
<needcrc>YES</needcrc>
......
上面的这些标签都是自己写的,可以随便创造
但是当你的应用程序分析这个XML文件的时候,
你就要适当地把上面域里面的那些值对应到IP协议规定的值上去。