CN107040549A - 一种tcp粘包处理方法、服务器及*** - Google Patents

一种tcp粘包处理方法、服务器及*** Download PDF

Info

Publication number
CN107040549A
CN107040549A CN201710428026.XA CN201710428026A CN107040549A CN 107040549 A CN107040549 A CN 107040549A CN 201710428026 A CN201710428026 A CN 201710428026A CN 107040549 A CN107040549 A CN 107040549A
Authority
CN
China
Prior art keywords
data
frame
predefined
length
processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201710428026.XA
Other languages
English (en)
Other versions
CN107040549B (zh
Inventor
曹福金
岳立峰
于光振
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Digital Shandong Technology Co Ltd
Original Assignee
Shanda Luneng Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanda Luneng Information Technology Co Ltd filed Critical Shanda Luneng Information Technology Co Ltd
Priority to CN201710428026.XA priority Critical patent/CN107040549B/zh
Publication of CN107040549A publication Critical patent/CN107040549A/zh
Application granted granted Critical
Publication of CN107040549B publication Critical patent/CN107040549B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/163In-band adaptation of TCP data exchange; In-band control procedures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9057Arrangements for supporting packet reassembly or resequencing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了TCP粘包处理方法、服务器及***,其中TCP粘包处理方法适用于网络通信接收方,包括接收网络通信发送方按照预定义的TCP传输的数据帧结构打包传输来的数据;每接收到一帧数据的同时,解析当前帧数据的数据帧结构;判断接收到的每帧数据的开头字节是否为帧头,若是,则根据预定义的数据帧结构来判定当前帧数据的完整性;否则,保存数据并标记为断包数据段;若当前帧数据的帧长度等于预定义的数据帧结构长度,则当前帧数据为一个完整帧数据;若当前帧数据的帧长度大于预定义的数据帧结构长度,则对当前帧数据进行拆解处理,并继续判断拆解处理后最后一段数据的完整性,若不完整,则保存数据并与断包数据段做拼包处理形成一个完整帧的数据。

Description

一种TCP粘包处理方法、服务器及***
技术领域
本发明属于数据处理领域,尤其涉及一种TCP粘包处理方法、服务器及***。
背景技术
TCP(Transmission Control Protocol传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。虽然TCP为用户提供可靠的端到端连接,以保证TCP消息有序无误的传输。由于TCP是长连接且无消息边界,数据在传输过程中会中网络延时等问题导粘包问题,不做算法处理无法正常解析处理数据。
目前现有的TCP粘包处理方法中对于接收端引起的粘包,大部分均通过优化程序设计、精简接收进程工作量及提高接收进程优先级这些措施,使接收端及时接收数据包来尽量避免出现粘包现象,但是上述所有方法在发送端的发送频率较高或由于网络突发可能使到达接收端的数据包较快,接收端仍无法及时接收,从而导致粘包;此外,现有的TCP粘包处理方法还存在无法针对忽略了对接收到的每帧数据的帧头判断,因为即使判断数据包的长度与预设帧长度相同,但若当前帧数据的开头字节不是帧头,那么该帧数据同样是不完整数据,即使发送到接收方,接收方也无法解析出完整的信息。
发明内容
为了解决现有技术的不足,本发明的第一目的是提供一种TCP粘包处理方法,该方法定义TCP传输的数据帧结构,通过对当前帧数据的开头字节的判断,来确定当前帧数据的帧头,从而解决数据完整性以及准确性的问题。
本发明的一种TCP粘包处理方法,该方法适用于网络通信接收方,包括:
接收网络通信发送方按照预定义的TCP传输的数据帧结构打包传输来的数据;
每接收到一帧数据的同时,解析当前帧数据的数据帧结构;
判断接收到的每帧数据的开头字节是否为帧头,若是,则根据预定义的数据帧结构来判定当前帧数据的完整性;否则,保存数据并标记为断包数据段;
若当前帧数据的帧长度等于预定义的数据帧结构长度,则当前帧数据为一个完整帧数据;
若当前帧数据的帧长度大于预定义的数据帧结构长度,则对当前帧数据进行拆解处理,并继续判断拆解处理后最后一段数据的完整性,若不完整,则保存数据并与断包数据段做拼包处理形成一个完整帧的数据。
其中,所述预定义的TCP传输的数据帧结构包括帧头、帧长度和帧校验。
进一步的,对当前帧数据进行拆解处理的过程为:
按预定义的数据帧结构长将当前帧数据拆分成若干段数据;
解析分成的最后一段数据的帧长度,并与预定义的数据帧结构长度比较,若前者等于后者,则当前帧数据进行拆解处理后均拆解成若干个完整帧数据;若前者小于后者,则最后一段数据不完整,则为保存该段数据。
本发明的第二目的是提供一种TCP粘包处理服务器。
本发明的一种TCP粘包处理服务器,该服务器为网络通信接收方服务器,包括:
数据接收模块,其用于接收网络通信发送方按照预定义的TCP传输的数据帧结构打包传输来的数据;
数据解析模块,其用于每接收到一帧数据的同时,解析当前帧数据的数据帧结构;
数据帧头及完整性判断模块,其用于判断接收到的每帧数据的开头字节是否为帧头,若是,则根据预定义的数据帧结构来判定当前帧数据的完整性;否则,保存数据并标记为断包数据段;
若当前帧数据的帧长度等于预定义的数据帧结构长度,则当前帧数据为一个完整帧数据;
若当前帧数据的帧长度大于预定义的数据帧结构长度,则对当前帧数据进行拆解处理,并继续判断拆解处理后最后一段数据的完整性,若不完整,则保存数据并与断包数据段做拼包处理形成一个完整帧的数据。
所述预定义的TCP传输的数据帧结构包括帧头、帧长度和帧校验。
所述数据帧头及完整性判断模块还包括:
数据拆解模块,其用于按预定义的数据帧结构长将当前帧数据拆分成若干段数据;
完整性判断模块,其用于解析分成的最后一段数据的帧长度,并与预定义的数据帧结构长度比较,若前者等于后者,则当前帧数据进行拆解处理后均拆解成若干个完整帧数据;若前者小于后者,则最后一段数据不完整,则为保存该段数据。
本发明的第三目的是提供一种TCP粘包处理***。
本发明的TCP粘包处理***,该***包括TCP粘包处理服务器;
所述TCP粘包处理服务器,被配置为:
接收网络通信发送方按照预定义的TCP传输的数据帧结构打包传输来的数据;
每接收到一帧数据的同时,解析当前帧数据的数据帧结构;
判断接收到的每帧数据的开头字节是否为帧头,若是,则根据预定义的数据帧结构来判定当前帧数据的完整性;否则,保存数据并标记为断包数据段;
若当前帧数据的帧长度等于预定义的数据帧结构长度,则当前帧数据为一个完整帧数据;
若当前帧数据的帧长度大于预定义的数据帧结构长度,则对当前帧数据进行拆解处理,并继续判断拆解处理后最后一段数据的完整性,若不完整,则保存数据并与断包数据段做拼包处理形成一个完整帧的数据。
所述TCP粘包处理服务器与网络通信接收方服务器相连,网络通信接收方服务器将接收到的数据发送至TCP粘包处理器进行处理。
所述预定义的TCP传输的数据帧结构包括帧头、帧长度和帧校验。
所述TCP粘包处理服务器还被配置为:
按预定义的数据帧结构长将当前帧数据拆分成若干段数据;
解析分成的最后一段数据的帧长度,并与预定义的数据帧结构长度比较,若前者等于后者,则当前帧数据进行拆解处理后均拆解成若干个完整帧数据;若前者小于后者,则最后一段数据不完整,则为保存该段数据。
与现有技术相比,本发明的有益效果是:
本发明将接收到的网络通信发送方按照预定义的TCP传输的数据帧结构打包传输来的数据进行解析,得到当前帧数据的数据帧结构;再判断接收到的每帧数据的开头字节是否为帧头,并根据预定义的数据帧结构来判定当前帧数据的完整性,若当前帧数据的帧长度大于预定义的数据帧结构长度,则对当前帧数据进行拆解处理,并继续判断拆解处理后最后一段数据的完整性,若不完整,则保存数据并与断包数据段做拼包处理形成一个完整帧的数据。该方法按定义协议采用递归算法逐层拆、拼处理可以解决TCP传输过程中存在的任意数量、形式的粘包问题,确保传输过程中能及时准确地处理接收到的数据。
附图说明
构成本申请的一部分的说明书附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。
图1是本发明的一种TCP粘包处理方法的流程示意图。
图2是本发明的一种TCP粘包处理服务器的结构示意图。
具体实施方式
应该指出,以下详细说明都是例示性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
图1是本发明的一种TCP粘包处理方法的流程示意图。
如图1所示,本发明的一种TCP粘包处理方法,该方法适用于网络通信接收方,包括:
S101:接收网络通信发送方按照预定义的TCP传输的数据帧结构打包传输来的数据;
其中,所述预定义的TCP传输的数据帧结构包括帧头、帧长度和帧校验。
所谓数据帧(Data frame),指应用层的数据包,它包括三部分:帧头,数据部分,帧尾。其中,帧头和帧尾包含一些必要的控制信息,比如同步信息、地址信息、差错控制信息等;数据部分则包含网络层传下来的数据,比如IP数据包。
S102:每接收到一帧数据的同时,解析当前帧数据的数据帧结构。
具体地,当接收当一帧数据后,其解析方法是利用现有的方法,来分析当前帧的结构包括帧头、帧长度和帧校验,分别得到当前帧的这些信息。
S103:判断接收到的每帧数据的开头字节是否为帧头,若是,则根据预定义的数据帧结构来判定当前帧数据的完整性;否则,保存数据并标记为断包数据段;
若当前帧数据的帧长度等于预定义的数据帧结构长度,则当前帧数据为一个完整帧数据;
若当前帧数据的帧长度大于预定义的数据帧结构长度,则对当前帧数据进行拆解处理,并继续判断拆解处理后最后一段数据的完整性,若不完整,则保存数据并与断包数据段做拼包处理形成一个完整帧的数据。
具体地,对当前帧数据进行拆解处理的过程为:
按预定义的数据帧结构长将当前帧数据拆分成若干段数据;
解析分成的最后一段数据的帧长度,并与预定义的数据帧结构长度比较,若前者等于后者,则当前帧数据进行拆解处理后均拆解成若干个完整帧数据;若前者小于后者,则最后一段数据不完整,则为保存该段数据。
本发明将接收到的网络通信发送方按照预定义的TCP传输的数据帧结构打包传输来的数据进行解析,得到当前帧数据的数据帧结构;再判断接收到的每帧数据的开头字节是否为帧头,并根据预定义的数据帧结构来判定当前帧数据的完整性,若当前帧数据的帧长度大于预定义的数据帧结构长度,则对当前帧数据进行拆解处理,并继续判断拆解处理后最后一段数据的完整性,若不完整,则保存数据并与断包数据段做拼包处理形成一个完整帧的数据。该方法按定义协议采用递归算法逐层拆、拼处理可以解决TCP传输过程中存在的任意数量、形式的粘包问题,确保传输过程中能及时准确地处理接收到的数据。
图2是本发明的一种TCP粘包处理服务器的结构示意图。
如图2所示,本发明的TCP粘包处理服务器,该服务器为网络通信接收方服务器,包括:
(1)数据接收模块,其用于接收网络通信发送方按照预定义的TCP传输的数据帧结构打包传输来的数据;
所述预定义的TCP传输的数据帧结构包括帧头、帧长度和帧校验。
所谓数据帧(Data frame),指应用层的数据包,它包括三部分:帧头,数据部分,帧尾。其中,帧头和帧尾包含一些必要的控制信息,比如同步信息、地址信息、差错控制信息等;数据部分则包含网络层传下来的数据,比如IP数据包。
(2)数据解析模块,其用于每接收到一帧数据的同时,解析当前帧数据的数据帧结构。
(3)数据帧头及完整性判断模块,其用于判断接收到的每帧数据的开头字节是否为帧头,若是,则根据预定义的数据帧结构来判定当前帧数据的完整性;否则,保存数据并标记为断包数据段;
若当前帧数据的帧长度等于预定义的数据帧结构长度,则当前帧数据为一个完整帧数据;
若当前帧数据的帧长度大于预定义的数据帧结构长度,则对当前帧数据进行拆解处理,并继续判断拆解处理后最后一段数据的完整性,若不完整,则保存数据并与断包数据段做拼包处理形成一个完整帧的数据。
其中,所述数据帧头及完整性判断模块还包括:
数据拆解模块,其用于按预定义的数据帧结构长将当前帧数据拆分成若干段数据;
完整性判断模块,其用于解析分成的最后一段数据的帧长度,并与预定义的数据帧结构长度比较,若前者等于后者,则当前帧数据进行拆解处理后均拆解成若干个完整帧数据;若前者小于后者,则最后一段数据不完整,则为保存该段数据。
本发明将接收到的网络通信发送方按照预定义的TCP传输的数据帧结构打包传输来的数据进行解析,得到当前帧数据的数据帧结构;再判断接收到的每帧数据的开头字节是否为帧头,并根据预定义的数据帧结构来判定当前帧数据的完整性,若当前帧数据的帧长度大于预定义的数据帧结构长度,则对当前帧数据进行拆解处理,并继续判断拆解处理后最后一段数据的完整性,若不完整,则保存数据并与断包数据段做拼包处理形成一个完整帧的数据。该方法按定义协议采用递归算法逐层拆、拼处理可以解决TCP传输过程中存在的任意数量、形式的粘包问题,确保传输过程中能及时准确地处理接收到的数据。
本发明的TCP粘包处理***,该***包括TCP粘包处理服务器;
所述TCP粘包处理服务器,被配置为:
接收网络通信发送方按照预定义的TCP传输的数据帧结构打包传输来的数据;
每接收到一帧数据的同时,解析当前帧数据的数据帧结构;
判断接收到的每帧数据的开头字节是否为帧头,若是,则根据预定义的数据帧结构来判定当前帧数据的完整性;否则,保存数据并标记为断包数据段;
若当前帧数据的帧长度等于预定义的数据帧结构长度,则当前帧数据为一个完整帧数据;
若当前帧数据的帧长度大于预定义的数据帧结构长度,则对当前帧数据进行拆解处理,并继续判断拆解处理后最后一段数据的完整性,若不完整,则保存数据并与断包数据段做拼包处理形成一个完整帧的数据。
所述TCP粘包处理服务器与网络通信接收方服务器相连,网络通信接收方服务器将接收到的数据发送至TCP粘包处理器进行处理。
其中,预定义的TCP传输的数据帧结构包括帧头、帧长度和帧校验。所谓数据帧(Data frame),指应用层的数据包,它包括三部分:帧头,数据部分,帧尾。其中,帧头和帧尾包含一些必要的控制信息,比如同步信息、地址信息、差错控制信息等;数据部分则包含网络层传下来的数据,比如IP数据包。
本发明的TCP粘包处理服务器还被配置为:
按预定义的数据帧结构长将当前帧数据拆分成若干段数据;
解析分成的最后一段数据的帧长度,并与预定义的数据帧结构长度比较,若前者等于后者,则当前帧数据进行拆解处理后均拆解成若干个完整帧数据;若前者小于后者,则最后一段数据不完整,则为保存该段数据。
本发明将接收到的网络通信发送方按照预定义的TCP传输的数据帧结构打包传输来的数据进行解析,得到当前帧数据的数据帧结构;再判断接收到的每帧数据的开头字节是否为帧头,并根据预定义的数据帧结构来判定当前帧数据的完整性,若当前帧数据的帧长度大于预定义的数据帧结构长度,则对当前帧数据进行拆解处理,并继续判断拆解处理后最后一段数据的完整性,若不完整,则保存数据并与断包数据段做拼包处理形成一个完整帧的数据。该方法按定义协议采用递归算法逐层拆、拼处理可以解决TCP传输过程中存在的任意数量、形式的粘包问题,确保传输过程中能及时准确地处理接收到的数据。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。

Claims (10)

1.一种TCP粘包处理方法,其特征在于,该方法适用于网络通信接收方,包括:
接收网络通信发送方按照预定义的TCP传输的数据帧结构打包传输来的数据;
每接收到一帧数据的同时,解析当前帧数据的数据帧结构;
判断接收到的每帧数据的开头字节是否为帧头,若是,则根据预定义的数据帧结构来判定当前帧数据的完整性;否则,保存数据并标记为断包数据段;
若当前帧数据的帧长度等于预定义的数据帧结构长度,则当前帧数据为一个完整帧数据;
若当前帧数据的帧长度大于预定义的数据帧结构长度,则对当前帧数据进行拆解处理,并继续判断拆解处理后最后一段数据的完整性,若不完整,则保存数据并与断包数据段做拼包处理形成一个完整帧的数据。
2.如权利要求1所述的一种TCP粘包处理方法,其特征在于,所述预定义的TCP传输的数据帧结构包括帧头、帧长度和帧校验。
3.如权利要求1所述的一种TCP粘包处理方法,其特征在于,对当前帧数据进行拆解处理的过程为:
按预定义的数据帧结构长将当前帧数据拆分成若干段数据;
解析分成的最后一段数据的帧长度,并与预定义的数据帧结构长度比较,若前者等于后者,则当前帧数据进行拆解处理后均拆解成若干个完整帧数据;若前者小于后者,则最后一段数据不完整,则为保存该段数据。
4.一种TCP粘包处理服务器,其特征在于,该服务器为网络通信接收方服务器,包括:
数据接收模块,其用于接收网络通信发送方按照预定义的TCP传输的数据帧结构打包传输来的数据;
数据解析模块,其用于每接收到一帧数据的同时,解析当前帧数据的数据帧结构;
数据帧头及完整性判断模块,其用于判断接收到的每帧数据的开头字节是否为帧头,若是,则根据预定义的数据帧结构来判定当前帧数据的完整性;否则,保存数据并标记为断包数据段;
若当前帧数据的帧长度等于预定义的数据帧结构长度,则当前帧数据为一个完整帧数据;
若当前帧数据的帧长度大于预定义的数据帧结构长度,则对当前帧数据进行拆解处理,并继续判断拆解处理后最后一段数据的完整性,若不完整,则保存数据并与断包数据段做拼包处理形成一个完整帧的数据。
5.如权利要求4所述的一种TCP粘包处理服务器,其特征在于,所述预定义的TCP传输的数据帧结构包括帧头、帧长度和帧校验。
6.如权利要求4所述的一种TCP粘包处理服务器,其特征在于,所述数据帧头及完整性判断模块还包括:
数据拆解模块,其用于按预定义的数据帧结构长将当前帧数据拆分成若干段数据;
完整性判断模块,其用于解析分成的最后一段数据的帧长度,并与预定义的数据帧结构长度比较,若前者等于后者,则当前帧数据进行拆解处理后均拆解成若干个完整帧数据;若前者小于后者,则最后一段数据不完整,则为保存该段数据。
7.一种TCP粘包处理***,其特征在于,该***包括TCP粘包处理服务器;
所述TCP粘包处理服务器,被配置为:
接收网络通信发送方按照预定义的TCP传输的数据帧结构打包传输来的数据;
每接收到一帧数据的同时,解析当前帧数据的数据帧结构;
判断接收到的每帧数据的开头字节是否为帧头,若是,则根据预定义的数据帧结构来判定当前帧数据的完整性;否则,保存数据并标记为断包数据段;
若当前帧数据的帧长度等于预定义的数据帧结构长度,则当前帧数据为一个完整帧数据;
若当前帧数据的帧长度大于预定义的数据帧结构长度,则对当前帧数据进行拆解处理,并继续判断拆解处理后最后一段数据的完整性,若不完整,则保存数据并与断包数据段做拼包处理形成一个完整帧的数据。
8.如权利要求7所述的一种TCP粘包处理***,其特征在于,网络通信接收方服务器将接收到的数据发送至TCP粘包处理器进行处理。
9.如权利要求7所述的一种TCP粘包处理***,其特征在于,所述预定义的TCP传输的数据帧结构包括帧头、帧长度和帧校验。
10.如权利要求7所述的一种TCP粘包处理***,其特征在于,所述TCP粘包处理服务器还被配置为:
按预定义的数据帧结构长将当前帧数据拆分成若干段数据;
解析分成的最后一段数据的帧长度,并与预定义的数据帧结构长度比较,若前者等于后者,则当前帧数据进行拆解处理后均拆解成若干个完整帧数据;若前者小于后者,则最后一段数据不完整,则为保存该段数据。
CN201710428026.XA 2017-06-08 2017-06-08 一种tcp粘包处理方法、服务器及*** Active CN107040549B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710428026.XA CN107040549B (zh) 2017-06-08 2017-06-08 一种tcp粘包处理方法、服务器及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710428026.XA CN107040549B (zh) 2017-06-08 2017-06-08 一种tcp粘包处理方法、服务器及***

Publications (2)

Publication Number Publication Date
CN107040549A true CN107040549A (zh) 2017-08-11
CN107040549B CN107040549B (zh) 2021-03-19

Family

ID=59541070

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710428026.XA Active CN107040549B (zh) 2017-06-08 2017-06-08 一种tcp粘包处理方法、服务器及***

Country Status (1)

Country Link
CN (1) CN107040549B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108718311A (zh) * 2018-05-18 2018-10-30 深圳市腾讯网络信息技术有限公司 移动终端的网页直播方法、装置及***
CN110474715A (zh) * 2019-08-12 2019-11-19 深圳互联先锋科技有限公司 一种物联网数据传输准确性提高方法及***
CN110798518A (zh) * 2019-10-25 2020-02-14 深圳市元征科技股份有限公司 一种数据传输方法及装置、终端设备、存储介质
CN112416408A (zh) * 2020-12-08 2021-02-26 金卡智能集团股份有限公司 固件升级方法、装置、设备及计算机可读存储介质
CN112995066A (zh) * 2021-02-05 2021-06-18 新天科技股份有限公司 帧数据处理方法、装置、电子设备及存储介质
CN113518087A (zh) * 2021-07-12 2021-10-19 广州乐摇摇信息科技有限公司 一种iot协议反向对接方法及装置
CN114301999A (zh) * 2021-11-19 2022-04-08 宁波三星智能电气有限公司 一种数据流的解析方法及使用该方法的智能电表
CN114363390A (zh) * 2022-01-21 2022-04-15 西安羚控电子科技有限公司 一种无人机地面指控***及指控方法
CN114509966A (zh) * 2021-12-30 2022-05-17 北京无线电测量研究所 一种非同步高速串口实时连续数据采集***
WO2023217188A1 (zh) * 2022-05-11 2023-11-16 北京字节跳动网络技术有限公司 一种直播数据传输方法、装置、***、设备和介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101753586A (zh) * 2010-01-20 2010-06-23 北京数码视讯科技股份有限公司 发送数据的方法、接收数据的处理方法和装置
US20120005369A1 (en) * 2010-07-02 2012-01-05 Netgear, Inc. System and method of tcp tunneling
CN102984253A (zh) * 2012-11-27 2013-03-20 山东中创软件工程股份有限公司 一种传输控制协议粘包处理方法及装置
CN103532668A (zh) * 2013-10-12 2014-01-22 成都阜特科技股份有限公司 一种确保tcp通信数据完整及正确的方法
CN104410613A (zh) * 2014-11-20 2015-03-11 广西大学 一种处理传输控制协议粘包方法及装置
CN105704091A (zh) * 2014-11-25 2016-06-22 中国科学院声学研究所 一种基于ssh协议的会话解析方法及***

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101753586A (zh) * 2010-01-20 2010-06-23 北京数码视讯科技股份有限公司 发送数据的方法、接收数据的处理方法和装置
US20120005369A1 (en) * 2010-07-02 2012-01-05 Netgear, Inc. System and method of tcp tunneling
CN102984253A (zh) * 2012-11-27 2013-03-20 山东中创软件工程股份有限公司 一种传输控制协议粘包处理方法及装置
CN103532668A (zh) * 2013-10-12 2014-01-22 成都阜特科技股份有限公司 一种确保tcp通信数据完整及正确的方法
CN104410613A (zh) * 2014-11-20 2015-03-11 广西大学 一种处理传输控制协议粘包方法及装置
CN105704091A (zh) * 2014-11-25 2016-06-22 中国科学院声学研究所 一种基于ssh协议的会话解析方法及***

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108718311A (zh) * 2018-05-18 2018-10-30 深圳市腾讯网络信息技术有限公司 移动终端的网页直播方法、装置及***
CN110474715A (zh) * 2019-08-12 2019-11-19 深圳互联先锋科技有限公司 一种物联网数据传输准确性提高方法及***
CN110798518A (zh) * 2019-10-25 2020-02-14 深圳市元征科技股份有限公司 一种数据传输方法及装置、终端设备、存储介质
CN112416408A (zh) * 2020-12-08 2021-02-26 金卡智能集团股份有限公司 固件升级方法、装置、设备及计算机可读存储介质
CN112995066B (zh) * 2021-02-05 2023-10-24 新天科技股份有限公司 帧数据处理方法、装置、电子设备及存储介质
CN112995066A (zh) * 2021-02-05 2021-06-18 新天科技股份有限公司 帧数据处理方法、装置、电子设备及存储介质
CN113518087A (zh) * 2021-07-12 2021-10-19 广州乐摇摇信息科技有限公司 一种iot协议反向对接方法及装置
CN114301999A (zh) * 2021-11-19 2022-04-08 宁波三星智能电气有限公司 一种数据流的解析方法及使用该方法的智能电表
CN114509966A (zh) * 2021-12-30 2022-05-17 北京无线电测量研究所 一种非同步高速串口实时连续数据采集***
CN114509966B (zh) * 2021-12-30 2023-11-03 北京无线电测量研究所 一种非同步高速串口实时连续数据采集***
CN114363390B (zh) * 2022-01-21 2023-09-12 西安羚控电子科技有限公司 一种无人机地面指控***及指控方法
CN114363390A (zh) * 2022-01-21 2022-04-15 西安羚控电子科技有限公司 一种无人机地面指控***及指控方法
WO2023217188A1 (zh) * 2022-05-11 2023-11-16 北京字节跳动网络技术有限公司 一种直播数据传输方法、装置、***、设备和介质

Also Published As

Publication number Publication date
CN107040549B (zh) 2021-03-19

Similar Documents

Publication Publication Date Title
CN107040549A (zh) 一种tcp粘包处理方法、服务器及***
US9166917B2 (en) Link layer preemption
WO2019144836A1 (zh) 数据传输方法、装置和***
US8891554B2 (en) Method for data transmission in an automation system using dynamic frame packing
US8233399B2 (en) Generic packet generator and method
CN111083161A (zh) 数据传输的处理方法及装置、物联网设备
US20060274789A1 (en) Apparatus and methods for a high performance hardware network protocol processing engine
CN107508719A (zh) 测量网络时延的方法、装置及网络节点
CN102377640B (zh) 一种报文处理装置和报文处理方法、及预处理器
EP3499845A1 (en) Data packet transmission method and system
WO2021128927A1 (zh) 报文的处理方法及装置、存储介质和电子装置
CN110138809A (zh) 一种面向以太网控制器接收链路的tcp报文拼接***和方法
EP2577485B1 (en) Streaming media delivery composite
WO2014135038A1 (zh) 基于pcie总线的报文传输方法与装置
WO2021088813A1 (zh) 报文封装方法及装置、报文解封装方法及装置
US20110022721A1 (en) Method and system for packetizing data for servicing traffic end-to-end
CN104618365B (zh) 协议报文处理方法、装置及终端
CN113177848A (zh) 一种证券及金融衍生品交易风险控制***及风险控制方法
CN112202595A (zh) 基于时间敏感网络***的抽象模型构建方法
CN112953850A (zh) 数据传输方法、装置、计算机可读介质及电子设备
CN114172900A (zh) 基于单向网闸的文件传输方法及***
CN107579920A (zh) 数据流的传输方法、装置、存储介质及处理器
CN108460044B (zh) 数据的处理方法和装置
CN112202596A (zh) 基于时间敏感网络***的抽象模型构建装置
CN116614481A (zh) 一种多媒体数据传输方法、装置、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address

Address after: Room 601, North Zone, 6th Floor, S06 Building, Inspur Science and Technology Park, No. 1036 Inspur Road, High tech Zone, Jinan City, Shandong Province, 250101

Patentee after: Inspur Digital (Shandong) Technology Co.,Ltd.

Address before: Building 1-100, Dashan science and technology building, block 250B, Jinan City, Shandong Province

Patentee before: SHANDA LUNENG INFORMATION TECHNOLOGY Co.,Ltd.

CP03 Change of name, title or address
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: A TCP packet sticking processing method, server, and system

Effective date of registration: 20231204

Granted publication date: 20210319

Pledgee: Shizhong Branch of Qilu Bank Co.,Ltd.

Pledgor: Inspur Digital (Shandong) Technology Co.,Ltd.

Registration number: Y2023980069209

PE01 Entry into force of the registration of the contract for pledge of patent right