买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
申请/专利权人:杭州当虹科技股份有限公司
摘要:本发明公开了一种基于TCP自定义数据协议的组包及解包方法,组包方法包括以下步骤:S11,应用处理层发送报文;S12,把报文写入组包缓存区;S13,把组包缓存区数据写入TCP流。解包方法包括以下步骤:S21,从TCP流中获取的数据写入解包缓存区;S22,从解包缓存区解析报文;S23,把解析得到的报文推给应用处理层。本发明采用自定义的变长报文体,数据字段由基本数据类型组成的,有序的字段定义使组包解包性能效率明显提升;解包时,按序读取一次缓存区,数据包也就解析完成。
主权项:1.一种基于TCP自定义数据协议的组包方法,其特征在于,包括以下步骤:S11,应用处理层发送报文;S12,把报文写入组包缓存区;S13,把组包缓存区数据写入TCP流;其中,报文包括报文头和报文体,报文体为自定义变长报文体;报文的具体组成包括:0x02表示协议版本标识;0x01表示报文序号;0x01表示业务交易号;0x01表示报文体类型编号;0x00表示扩展标记;0x11表示报文体大小;报文体的第一个字段,表示用户名,占7个字节,4字节前缀表示长度;报文体的第二个字段,表示口令,占10个字节,4字节前缀表示长度;所述S12具体包括以下步骤:S121,创建组包的数据缓存区;S122,把报文头根据定义按序写入数据缓存区;S123;把报文体按序写入数据缓存区;所述报文头的字段、类型和描述包括:协议版本标识、byte、一般固定值;报文序号、int、报文实体的唯一编号;业务交易号、short、不同的业务处理对应不同的编号;报文体类型编号、short、区别不同报文体的编号;扩展标记、byte、8位,每一位标识是否开启某项功能;报文体大小、int、报文体大小;所述报文体按序定义字段,字段类型和描述包括:bool、单字节布尔;byte、单字节并带符号整型;short、两字节并带符号整型;int、四字节并带符号整型;long、八字节并带符号整型;float、四字节并带符号浮点数;double、八字节并带符号浮点数;string、带长度的字符串,编码约定为UTF8,字段内容之前的四个字节为长度;byte[]、带长度的数据数组,字段内容之前的四个字节是长度;所述报文体中带长度的字段stringbyte[]写入内容之前,需先把长度写入,再写入具体字段内容;组包编码的实现是从Netty的MessageToByteEncoder为基础父类来实现自定义组包,整个过程是把自定义的数据报文类写入到Netty的ByteBuf类中,由Netty的ByteBuf类管理数据缓存区。
全文数据:
权利要求:
百度查询: 杭州当虹科技股份有限公司 基于TCP自定义数据协议的组包及解包方法
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。