[发明专利]一种TCP粘包处理方法、服务器及系统有效
| 申请号: | 201710428026.X | 申请日: | 2017-06-08 |
| 公开(公告)号: | CN107040549B | 公开(公告)日: | 2021-03-19 |
| 发明(设计)人: | 曹福金;岳立峰;于光振 | 申请(专利权)人: | 山大鲁能信息科技有限公司 |
| 主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L12/951 |
| 代理公司: | 济南圣达知识产权代理有限公司 37221 | 代理人: | 黄海丽 |
| 地址: | 250100 山东省济南市山*** | 国省代码: | 山东;37 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 tcp 处理 方法 服务器 系统 | ||
1.一种TCP粘包处理方法,其特征在于,该方法适用于网络通信接收方,按定义协议采用递归算法逐层拆、拼处理,包括:
接收网络通信发送方按照预定义的TCP传输的数据帧结构打包传输来的数据;
所述预定义的TCP传输的数据帧结构包括帧头、帧长度和帧校验;
每接收到一帧数据的同时,解析当前帧数据的数据帧结构;
判断接收到的每帧数据的开头字节是否为帧头,若是,则根据预定义的数据帧结构来判定当前帧数据的完整性;否则,保存数据并标记为断包数据段;
若当前帧数据的帧长度等于预定义的数据帧结构长度,则当前帧数据为一个完整帧数据;
若当前帧数据的帧长度大于预定义的数据帧结构长度,则对当前帧数据进行拆解处理,并继续判断拆解处理后最后一段数据的完整性,若不完整,则保存数据并与断包数据段做拼包处理形成一个完整帧的数据;
所述对当前帧数据进行拆解处理的过程为:
按预定义的数据帧结构长将当前帧数据拆分成若干段数据;
解析分成的最后一段数据的帧长度,并与预定义的数据帧结构长度比较,若前者等于后者,则当前帧数据进行拆解处理后均拆解成若干个完整帧数据;若前者小于后者,则最后一段数据不完整,则为保存该段数据;
通过对当前帧数据的开头字节的判断,来确定当前帧数据的帧头,以保障数据完整性以及准确性。
2.一种TCP粘包处理服务器,其特征在于,该服务器为网络通信接收方服务器,按定义协议采用递归算法逐层拆、拼处理,包括:
数据接收模块,其用于接收网络通信发送方按照预定义的TCP传输的数据帧结构打包传输来的数据;
所述预定义的TCP传输的数据帧结构包括帧头、帧长度和帧校验;
数据解析模块,其用于每接收到一帧数据的同时,解析当前帧数据的数据帧结构;
数据帧头及完整性判断模块,其用于判断接收到的每帧数据的开头字节是否为帧头,若是,则根据预定义的数据帧结构来判定当前帧数据的完整性;否则,保存数据并标记为断包数据段;
若当前帧数据的帧长度等于预定义的数据帧结构长度,则当前帧数据为一个完整帧数据;
若当前帧数据的帧长度大于预定义的数据帧结构长度,则对当前帧数据进行拆解处理,并继续判断拆解处理后最后一段数据的完整性,若不完整,则保存数据并与断包数据段做拼包处理形成一个完整帧的数据;
所述数据帧头及完整性判断模块还包括:
数据拆解模块,其用于按预定义的数据帧结构长将当前帧数据拆分成若干段数据;
完整性判断模块,其用于解析分成的最后一段数据的帧长度,并与预定义的数据帧结构长度比较,若前者等于后者,则当前帧数据进行拆解处理后均拆解成若干个完整帧数据;若前者小于后者,则最后一段数据不完整,则为保存该段数据;
通过对当前帧数据的开头字节的判断,来确定当前帧数据的帧头,以保障数据完整性以及准确性。
3.一种TCP粘包处理系统,其特征在于,该系统包括TCP粘包处理服务器;
所述TCP粘包处理服务器,按定义协议采用递归算法逐层拆、拼处理,被配置为:
接收网络通信发送方按照预定义的TCP传输的数据帧结构打包传输来的数据;
所述预定义的TCP传输的数据帧结构包括帧头、帧长度和帧校验;
每接收到一帧数据的同时,解析当前帧数据的数据帧结构;
判断接收到的每帧数据的开头字节是否为帧头,若是,则根据预定义的数据帧结构来判定当前帧数据的完整性;否则,保存数据并标记为断包数据段;
若当前帧数据的帧长度等于预定义的数据帧结构长度,则当前帧数据为一个完整帧数据;
若当前帧数据的帧长度大于预定义的数据帧结构长度,则对当前帧数据进行拆解处理,并继续判断拆解处理后最后一段数据的完整性,若不完整,则保存数据并与断包数据段做拼包处理形成一个完整帧的数据;
所述TCP粘包处理服务器还被配置为:
按预定义的数据帧结构长将当前帧数据拆分成若干段数据;
解析分成的最后一段数据的帧长度,并与预定义的数据帧结构长度比较,若前者等于后者,则当前帧数据进行拆解处理后均拆解成若干个完整帧数据;若前者小于后者,则最后一段数据不完整,则为保存该段数据;
通过对当前帧数据的开头字节的判断,来确定当前帧数据的帧头,以保障数据完整性以及准确性。
4.如权利要求3所述的一种TCP粘包处理系统,其特征在于,网络通信接收方服务器将接收到的数据发送至TCP粘包处理器进行处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山大鲁能信息科技有限公司,未经山大鲁能信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710428026.X/1.html,转载请声明来源钻瓜专利网。





