[发明专利]基于PYTHON语言的TCP/UDP数据的自动组包与解包的方法无效
| 申请号: | 201010285804.2 | 申请日: | 2010-09-16 |
| 公开(公告)号: | CN101944025A | 公开(公告)日: | 2011-01-12 |
| 发明(设计)人: | 林万枝;陈夏洋 | 申请(专利权)人: | 福建鑫诺通讯技术有限公司 |
| 主分类号: | G06F9/44 | 分类号: | G06F9/44 |
| 代理公司: | 福州市鼓楼区京华专利事务所(普通合伙) 35212 | 代理人: | 翁素华 |
| 地址: | 350000 福*** | 国省代码: | 福建;35 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 python 语言 tcp udp 数据 自动 方法 | ||
【技术领域】
本发明属于计算机软件通讯领域,具体是指一种基于PYTHON语言的TCP/UDP数据的自动组包与解包的方法。
【背景技术】
在计算机软件通讯领域,TCP是一种面向连接的保证可靠传输的协议。通过TCP协议传输,得到的是一个顺序的无差错的数据流。UDP是与TCP相对应的协议,是一种无连接的协议,每个数据报都是一个独立的信息。TCP/UDP分别被应用到不到的领域,例如TCP应用在远程连接(Telnet)、超文本传输(HTTP)和文件传输(FTP);UDP应用在视频会议系统等。
目前基于TCP/UDP的通讯协议的组包和解包大部分都是程序代码中直接处理方法,收到数据时转到相应的协议处理器进行处理,需要编写每个协议的代码,而协议结构有变动时又要修改代码方能使用,非常的不灵活、且不易于系统的扩展;而对于处在调式和测试阶段的程序则更需要对协议一个字段一个字段的构造和分析,这个过程非常的繁琐和复杂且极易因为协议的复杂而造成构造和分析的出错。
【发明内容】
本发明所要解决的技术问题之一在于提供一种基于PYTHON语言的TCP/UDP数据的自动组包的方法,有效地提高了开发、测试TCP/UDP通讯的程序的效率。
本发明所要解决的技术问题之二在于提供一种基于PYTHON语言的TCP/UDP数据的解包的方法,有效地提高了开发、测试TCP/UDP通讯的程序的效率。
本发明采用以下技术方案解决上述技术问题之一:
一种基于PYTHON语言的TCP/UDP通讯数据包组包方法,其特征在于:以XML文件形式定义通讯的数据结构,形成数据包与配置结构建立一一对应关系的转换关系映射表并且常驻内存,通过转换关系映射表自动完成组包,具体步骤为:
步骤10:创建XML文件,定义不同通讯协议的转换关系;
步骤20:选择XML协议文件;
步骤30:指定组包的协议;
步骤40:程序根据指定的协议生成各相应字段的数据;
步骤50:把生成的各类型的数据根据各种规则组合并按要求编码形成通讯使用的TCP/UDP数据包。
所述步骤40还包括:根据XML协议定义自动生成固定字符、数值、日期类型的数据或随机生成字符、数值、日期类型的数据。
所述步骤50还包括:将生成的数据进行左右对齐,按需补齐,然后串接进行加密、压缩、编码形成通讯数据包。
本发明采用以下技术方案解决上述技术问题之二:
一种基于PYTHON语言的TCP/UDP通讯数据包解包的方法,其特征在于:以XML文件形式定义通讯的数据结构,形成数据包与配置结构建立一一对应关系的转换关系映射表,通过转换关系映射表自动完成解包,具体步骤为:
步骤100:创建XML文件,定义不同通讯协议的转换关系;
步骤200:选择XML协议文件;
步骤300:获取TCP/UDP通讯的数据包,粘贴到程序中;
步骤400:程序根据XML协议定义先把被编码过的数据还原;
步骤500:选择相应的协议去分析数据,把各字段的数据还原出来,完成数据的分析。
所述步骤400还包括:可以根据协议将获取的经过加密、压缩、编码的数据进行还原。
所述步骤500还包括:可以将还原的数据分解成各个类型的数据。
本发明的优点在于:使得开发人员可以不用处理复杂的数据构造,而只需要注重处理业务逻辑,增加程序的可扩展性和灵活性。不会因为通讯协议的修改去变动相应协议组包和分析的代码。测试人员也可通过组包和解包来模拟测试数据和分析测试结果,提高测试的准确性和效率性。使用XML文件定义,使开发人员、测试人员无需关心协议数据的组包和解析,大大简化了业务逻辑层编码工作,易于系统功能的扩展和测试。
【附图说明】
下面参照附图结合实例对本发明作进一步的描述。
图1是本发明中XML配置文件的作用表示图。
图2是本发明中组包和解包的程序流程图。
【具体实施方式】
PYTHON语言是一种面向对象、直译式计算机程序设计语言,也是一种功能强大而完善的通用型语言,已经具有十多年的发展历史,成熟且稳定。这种语言具有非常简捷而清晰的语法特点,适合完成各种高层任务,几乎可以在所有的操作系统中运行。
基于PYTHON语言的TCP/UDP数据的自动组包与解包的方法,将数据
包与配置结构建立一一对应关系的转换关系映射表,通过查映射表可实现不
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福建鑫诺通讯技术有限公司,未经福建鑫诺通讯技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010285804.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种镍-稀土复合膜的制备方法
- 下一篇:一种能提高乳酸芽孢杆菌活菌数的培养基





