[发明专利]一种移动无线网络消息的解码、调试、显示装置及其方法无效
申请号: | 200810175883.4 | 申请日: | 2008-11-07 |
公开(公告)号: | CN101404515A | 公开(公告)日: | 2009-04-08 |
发明(设计)人: | 魏凌云 | 申请(专利权)人: | 武汉虹信通信技术有限责任公司 |
主分类号: | H04B1/707 | 分类号: | H04B1/707;H04B17/00;H04L1/00;H04W16/18 |
代理公司: | 北京宇生知识产权代理事务所 | 代理人: | 倪 骏;苗 强 |
地址: | 430074湖北省武汉市东*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 移动 无线网络 消息 解码 调试 显示装置 及其 方法 | ||
1.一种移动无线网络消息的解码、调试、显示装置,其特征在于包括:
解码模块(201),包含一系列消息解码模块,解码后的消息被保存到对应的消息结构(203)中;
显示模块(204),将消息结构格式化为含有消息语义的显示字符串供图形用户界面(106)显示;
调试模块(202),为解码模块和显示模块构造测试码流、输出调试信息;
解码模块(201)进一步包括:
获取整型比特串模块(205),从消息字节流中获取指定长度的比特串将其转换为无符号整型值;
获取比特序列模块(206),从消息字节流中获取指定长度的比特串并将之保存为变长的比特数组;
判断填充比特模块(207),判断消息字节流中当前比特是L还是H,并将其比特值转为无符号整型值0/1;
后移模块(208),从消息字节流当前比特位后移指定的比特个数;
跳转到指定比特位置模块(209)和获得当前比特位置模块(210)在消息字节流中任意设置和获取当前的比特位置;
比特位置转字节位置模块(211)和字节位置转比特位置模块(212)执行字节位置和比特位置的相互转换;
调试模块(202)进一步包括:
测试码流编辑界面(213),为用户提供了一个图形化的码流构造、编辑界面,并将其转换为字节数组进行消息解码、显示测试;
解码调试信息输出模块(214),如果在获取整型比特串模块(205)、获取比特序列模块(206)、判断填充比特模块(207)、后移模块(208)之后紧接调用该模块,则输出调试诊断信息;
格式化消息字段输出模块(215),内嵌在格式化消息数据字段模块(216)中,把格式化的消息字段输出到调试窗口进行诊断;
显示模块(204)进一步包括:
格式化消息数据字段模块(216),对消息结构中的每一个字段调用该模块,将消息字段附加协议特定的语义信息,并且可以控制其缩进格式;
获取格式化后的消息显示字符串模块(217),在消息内各字段格式化后调用,获取整条消息包含消息语义和值的显示字符串。
2.一种利用权利要求1所述的装置进行消息解码的方法,其特征在于包括步骤:
步骤(301)输入一条消息完整的或部份的字节数组;
步骤(302)综合使用位置转换函数和定位函数将当前位置游标定位到解码开始的比特位置;
步骤(303)根据协议判断当前待解的比特串的类型,如果是消息数据字段类型的比特串,就执行步骤(304);
步骤(304)根据消息字段的语义描述判断该字段是否被视为无符号整数,如果是就执行步骤(305);
步骤(305)调用获取整型比特串模块,并根据协议传入比特串长度作为参数;
步骤(306)将得到的字段值保存到对应的消息结构中;
步骤(307)根据消息字段的语义判断该字段是否将被视为比特序列,如果是则执行步骤(308);如果在步骤(307)中判断出该字段是L/H填充比特,则执行步骤(310);
步骤(308)调用获取比特序列模块,并根据协议传入比特串长度作为参数;
步骤(309)将返回的变长比特数组填入相应的消息结构中;
步骤(310)调用判断填充比特模块,将判断结果经步骤(311)填入消息结构;
步骤(312)根据协议判断当前比特串是否是备用比特串,如果是就执行步骤(313);
步骤(313)计算备用比特串的长度,有时这类比特串的长度在协议中已经标明为一个固定值,更多时候协议并不明确指定它的长度,由于它总出现在某个消息字段的末尾,可以在开始解码包含它的较大字段时调用获取当前比特位置模块预先记下较大字段的开始位置,在解码完较大字段内的其他子字段后再次调用获取当前比特位置模块记下其位置,用该位置减去开始位置得到大字段内其他子字段的总长度,再用大字段的长度减去它就得到备用比特串的长度;
步骤(314)调用后移模块,向后移动指定的比特位数;
步骤(315)判断当前比特串是否是控制比特串,如果是就执行步骤(316);
步骤(316)判断是否是填充比特,如果是填充比特,则执行步骤(317);如果是常量比特串,则执行步骤(318);
步骤(317)调用判断填充比特模块;
步骤(318)调用获取整型比特串模块;
步骤(319)判断是否是分支选择比特串,如果是则将获取的比特串的值L/H或整数常量作为ifelse语句或switch case语句的判断条件,否则执行步骤(320);
步骤(320)判断是否是循环控制比特串,如果是则将获取的比特串的值作为for循环或while循环语句的循环条件,否则该比特串是前导比特串;
步骤(323)判断前导比特串的值是否是协议规定的值,如果不是就直接转到步骤(327)解码异常结束。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉虹信通信技术有限责任公司,未经武汉虹信通信技术有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810175883.4/1.html,转载请声明来源钻瓜专利网。