[发明专利]一种基于TCP/IP的二进制数据交互协议设计方法在审
申请号: | 202110372790.6 | 申请日: | 2021-04-07 |
公开(公告)号: | CN113114655A | 公开(公告)日: | 2021-07-13 |
发明(设计)人: | 汪云;刘毅;林涛睿;汤园生;陈阳;邱真;柴涛涛;王涛 | 申请(专利权)人: | 深圳市瑞驰信息技术有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06 |
代理公司: | 深圳市中科创为专利代理有限公司 44384 | 代理人: | 彭西洋;谭雪婷 |
地址: | 518000 广东省深圳市前海深港合作区前*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 tcp ip 二进制 数据 交互 协议 设计 方法 | ||
本发明公开了一种基于TCP/IP的二进制数据交互协议设计方法,支持文本和二进制内容的交互,且方便协议升级和扩展。有效解决了基于文本数据的协议在传输如图片、视频等二进制格式数据时,要进行Base64编码转换成文本格式,会使协议数据包膨胀增大,且对于某些网络要求比较苛刻的环境不太合适的问题。
技术领域
本发明涉及数据交互技术领域,特别涉及一种基于TCP/IP的二进制数据交互协议设计方法。
背景技术
在互联网大数据时代背景下,网络传输的数据纷繁复杂,随着用户需求的不断变更和系统的不断升级,传输的数据格式也在不断变化,这就要求系统在进行交互接口设计时,需要支持不断扩展,且要支持各种格式的数据进行传输,虽然基于文本格式的协议扩展非常方便,但是基于文本数据的协议在传输如图片、视频等二进制格式数据时,一般都要进行Base64编码转换成文本格式,会使协议数据包膨胀增大,对于某些网络要求比较苛刻的环境不太合适。
因此,现有技术需要进一步改进。
发明内容
针对现有技术存在的问题,本发明提供一种基于TCP/IP的二进制数据交互协议设计方法。
为实现上述目的,本发明的具体方案如下:
提供一种基于TCP/IP的二进制数据交互协议设计方法,包括如下步骤:S1,数据包定义,定义每次传输的整个数据包为一个Box;
S2,数据包描述,使用伪代码描述一个Box;
S3,数据打包;
S4,数据发送;
S5,数据接收;
S6,数据解析。
进一步地,S1还包括:
S11,定义Box为一个包含了大小Size、类型Type、数据Data的数据块,其中Data部分可包含字段Fields和其他Box,Size和type部分称为Box的头部Header;
S12,定义Box中数据使用大端字节序格式进行存储。
进一步地,S2还包括:定义所有的Box数据在内存中都按照8bit对齐。
进一步地,S2还包括:在Box中加入version和flags字段,其中version用8bit描述box的版本,flag用24bit作为一系列的bit flag,用于扩展。
进一步地,S3还包括:
S31,数据打包前,准备一个内存缓冲区Buffer,该缓冲区大小能容纳整个Box数据;
S32,使用一个指针或索引pFreeData指向缓冲区空闲位置,从Buffer头部开始,当Buffer中写入数据后,将pFreeData往后移动,保证pFreeData处于Box的尾部;
S33,使用指针或索引pBoxSize记录Box的Size字段在缓冲区的位置;
S34,写入Box Type并更新pFreeData;
S35,按照Box的协议描述写入Version和flag规定的字段并更新pFreeData;
S36,数据全部写入完毕后,根据pFreeData位置计算出Box大小,写入到pBoxSize处。
进一步地,S35还包括:判断是否有Version和flag规定的字段。
进一步地,S5还包括:
S51,客户端或服务器在接收数据包时,先接收4个字节的Box大小,再按大端字节序解析这4个字节的内容得到Box大小N;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市瑞驰信息技术有限公司,未经深圳市瑞驰信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110372790.6/2.html,转载请声明来源钻瓜专利网。