CN104253811A - 一种网络包通信方法和*** - Google Patents

一种网络包通信方法和*** Download PDF

Info

Publication number
CN104253811A
CN104253811A CN201410006305.3A CN201410006305A CN104253811A CN 104253811 A CN104253811 A CN 104253811A CN 201410006305 A CN201410006305 A CN 201410006305A CN 104253811 A CN104253811 A CN 104253811A
Authority
CN
China
Prior art keywords
message
packet
network packet
length
client
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.)
Pending
Application number
CN201410006305.3A
Other languages
English (en)
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.)
Shenzhen Huaao Data Technology Co Ltd
Original Assignee
Shenzhen Huaao Data 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 Shenzhen Huaao Data Technology Co Ltd filed Critical Shenzhen Huaao Data Technology Co Ltd
Priority to CN201410006305.3A priority Critical patent/CN104253811A/zh
Publication of CN104253811A publication Critical patent/CN104253811A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供了一种网络包通信方法,包括:客户端封装数据包形成至少包含消息ID、消息长度和数据内容的网络包;客户端发送网络包到服务端;服务端将相同消息ID的网络包中的数据内容组装形成数据包。本申请还提供了对应的***。本发明通过将超过标准长度的消息拆分成多个标准长度的消息并打包发送到服务端,避免了出现长消息拆分成子消息之后必须排队发送的过程,提高了效率。

Description

一种网络包通信方法和***
技术领域
 本申请涉及通信技术领域,特别是涉及一种网络包通信方法和***。
背景技术
在通信领域,大多数通信都利用TCP协议进行,但是在TCP协议中规定了一条消息的最大长度是65536字节。如果消息长度超过65536字节则需要将该消息拆分成多个消息,然后按照固定顺序传送。
在实际使用中,本发明的发明人发现,在超过长度的消息拆分发送过程中,如果拆分的子消息由于连接不稳定或者其它原因导致有一条子消息发送不成功,则后续子消息必须等待该子消息重新发送成功才能进入发送;这样的发送方式在消息长度特别大或者消息数量比较多的情况下效率比较低。
发明内容
本申请所要解决的技术问题是提供一种可以发送超过标准长度的网络包通信方法以及对应的装置。
为了解决上述问题,本申请公开了一种网络包通信方法,包括:
客户端封装数据包形成至少包含消息ID、消息长度和数据内容的网络包;
客户端发送网络包到服务端;
服务端将相同消息ID的网络包中的数据内容组装形成数据包。
进一步,所述服务端将相同消息ID的网络包中的数据内容组装形成数据包后还包括:
服务端处理所述数据包,并将结果返回到客户端。
进一步,所述客户端封装数据包形成至少包含消息ID、消息长度和数据内容的网络包包括:
客户端将长度大于预设阈值的数据包拆分成至少两个长度小于等于预设阈值的子数据包;
客户端将所述子数据包按顺序封装成包含消息ID、消息长度和数据内容的网络包;所述子数据包封的消息ID相同。
进一步,所述服务端将相同消息ID的网络包中的数据内容组装形成数据包包括:
服务端将消息ID相同的网络包进行解析获取子数据包;
将所述子数据包组装形成数据包。
本申请还提供了一种网络包通信***,包括:
客户端,用于封装数据包形成至少包含消息ID、消息长度和数据内容的网络包;发送网络包
服务端,用于将相同消息ID的网络包中的数据内容组装形成数据包。
进一步,所述服务端还用于处理所述数据包,并将结果返回到客户端。
进一步,所述客户端还用于:
将长度大于预设阈值的数据包拆分成至少两个长度小于等于预设阈值的子数据包;
将所述子数据包按顺序封装成包含消息ID、消息长度和数据内容的网络包;所述子数据包封的消息ID相同。
进一步,所述服务端还用于:
将消息ID相同的网络包进行解析获取子数据包;
将所述子数据包组装形成数据包。
与现有技术相比,本申请包括以下优点:通过将超过标准长度的消息拆分成多个标准长度的消息并打包发送到服务端,避免了出现长消息拆分成子消息之后必须排队发送的过程,提高了效率。
附图说明                        
图1是本发明一种网络包通信方法一实施例的流程图;
图2是本发明一种网络包通信***一实施例的结构示意图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
参照图1,示出了本申请一种网络包通信方法一实施例的流程图;
本发明实施例提供的网络包通信方法,包括:
步骤S101、客户端封装数据包形成至少包含消息ID、消息长度和数据内容的网络包;
进一步,所述客户端封装数据包形成至少包含消息ID、消息长度和数据内容的网络包包括:
客户端将长度大于预设阈值的数据包拆分成至少两个长度小于等于预设阈值的子数据包;
客户端将所述子数据包按顺序封装成包含消息ID、消息长度和数据内容的网络包;所述子数据包封的消息ID相同。
客户端即将通过TCP协议发送数据包时,先判断该数据包是否超过65536字节,如果超过65536字节则将该数据包进行分拆。在分拆过程中例如该数据包需要分拆成3个子消息才能满足三个子消息在封装后都小于或等于65536字节,则将该消息分拆为三个子消息,进行封装形成数据包。在封装形成的数据包中,至少应该包含该子消息所属的数据包的消息ID、分拆前的数据包的消息长度和子消息的数据内容。值得说明的是,本发明实施例在实际应用时,客户端可以是包含本端应用软件和通信设备的一个整体。
步骤S102、客户端发送网络包到服务端;
客户端在发送封装完成的网络包时,无需按照子消息在数据包中的前后顺序进行发送,只需按照预置规则排队发送即可。如果发送过程中,某一个网络包发送失败,后续网络包无需等待可以先行发送,等第二次发送成功后再将之前发送失败的网络包发送。
步骤S103、服务端将相同消息ID的网络包中的数据内容组装形成数据包。
进一步,所述服务端将相同消息ID的网络包中的数据内容组装形成数据包后还包括:
服务端处理所述数据包,并将结果返回到客户端。
进一步,所述服务端将相同消息ID的网络包中的数据内容组装形成数据包包括:
服务端将消息ID相同的网络包进行解析获取子数据包;
将所述子数据包组装形成数据包。
服务端获取到同一消息ID下所有网络包后,判断所有网络包中数据内容的长度相加所得的结果是否与网络包中的消息长度一致,如果一致则判断同一消息ID下所有网络包接收完成。当所有网络包接收完成之后,服务端将所有网络包中的数据内容解析出,然后封装成数据包。
本发明实施例通过将超过标准长度的消息拆分成多个标准长度的消息并打包发送到服务端,避免了出现长消息拆分成子消息之后必须排队发送的过程,提高了效率。 
参照图2为本发明一种网络包通信***一实施例的结构示意图。
本申请提供一种网络包通信***,包括:
客户端21,用于封装数据包形成至少包含消息ID、消息长度和数据内容的网络包;
服务端22,用于接收网络包;将相同消息ID的网络包中的数据内容组装形成数据包。
进一步,所述服务端22还用于处理所述数据包,并将结果返回到客户端21。
进一步,所述客户端21还用于:
将长度大于预设阈值的数据包拆分成至少两个长度小于等于预设阈值的子数据包;
将所述子数据包按顺序封装成包含消息ID、消息长度和数据内容的网络包;所述子数据包封的消息ID相同。
进一步,所述服务端22还用于:
将消息ID相同的网络包进行解析获取子数据包;
将所述子数据包组装形成数据包。
客户端21即将通过TCP协议发送数据包时,先判断该数据包是否超过65536字节,如果超过65536字节则将该数据包进行分拆。在分拆过程中例如该数据包需要分拆成3个子消息才能满足三个子消息在封装后都小于或等于65536字节,则将该消息分拆为三个子消息,进行封装形成数据包。在封装形成的数据包中,至少应该包含该子消息所属的数据包的消息ID、分拆前的数据包的消息长度和子消息的数据内容。值得说明的是,本发明实施例在实际应用时,客户端21可以是包含本端应用软件和通信设备的一个整体。
客户端21在发送封装完成的网络包时,无需按照子消息在数据包中的前后顺序进行发送,只需按照预置规则排队发送即可。如果发送过程中,某一个网络包发送失败,后续网络包无需等待可以先行发送,等第二次发送成功后再将之前发送失败的网络包发送。
服务端22获取到同一消息ID下所有网络包后,判断所有网络包中数据内容的长度相加所得的结果是否与网络包中的消息长度一致,如果一致则判断同一消息ID下所有网络包接收完成。当所有网络包接收完成之后,服务端22将所有网络包中的数据内容解析出,然后封装成数据包。
对于***实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
以上对本申请所提供的一种网络包通信方法和***,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (8)

1.一种网络包通信方法,其特征在于,包括:
客户端封装数据包形成至少包含消息ID、消息长度和数据内容的网络包;
客户端发送网络包到服务端;
服务端将相同消息ID的网络包中的数据内容组装形成数据包。
2.根据权利要求1所述的方法,其特征在于,所述服务端将相同消息ID的网络包中的数据内容组装形成数据包后还包括:
服务端处理所述数据包,并将结果返回到客户端。
3.根据权利要求2所述的方法,其特征在于,所述客户端封装数据包形成至少包含消息ID、消息长度和数据内容的网络包包括:
客户端将长度大于预设阈值的数据包拆分成至少两个长度小于等于预设阈值的子数据包;
客户端将所述子数据包按顺序封装成包含消息ID、消息长度和数据内容的网络包;所述子数据包封的消息ID相同。
4.根据权利要求3所述的方法,其特征在于,所述服务端将相同消息ID的网络包中的数据内容组装形成数据包包括:
服务端将消息ID相同的网络包进行解析获取子数据包;
将所述子数据包组装形成数据包。
5.一种网络包通信***,其特征在于,包括:
客户端,用于封装数据包形成至少包含消息ID、消息长度和数据内容的网络包;发送网络包;
服务端,用于将相同消息ID的网络包中的数据内容组装形成数据包。
6.根据权利要求5所述的***,其特征在于,所述服务端还用于处理所述数据包,并将结果返回到客户端。
7.根据权利要求6所述的***,其特征在于,所述客户端还用于:
将长度大于预设阈值的数据包拆分成至少两个长度小于等于预设阈值的子数据包;
将所述子数据包按顺序封装成包含消息ID、消息长度和数据内容的网络包;所述子数据包封的消息ID相同。
8.根据权利要求7所述的***,其特征在于,所述服务端还用于:
将消息ID相同的网络包进行解析获取子数据包;
将所述子数据包组装形成数据包。
CN201410006305.3A 2014-01-07 2014-01-07 一种网络包通信方法和*** Pending CN104253811A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410006305.3A CN104253811A (zh) 2014-01-07 2014-01-07 一种网络包通信方法和***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410006305.3A CN104253811A (zh) 2014-01-07 2014-01-07 一种网络包通信方法和***

Publications (1)

Publication Number Publication Date
CN104253811A true CN104253811A (zh) 2014-12-31

Family

ID=52188348

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410006305.3A Pending CN104253811A (zh) 2014-01-07 2014-01-07 一种网络包通信方法和***

Country Status (1)

Country Link
CN (1) CN104253811A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108471399A (zh) * 2018-02-07 2018-08-31 平安科技(深圳)有限公司 一种反洗钱作业中数据包的生成方法、存储介质和服务器
CN110611644A (zh) * 2018-06-15 2019-12-24 视联动力信息技术股份有限公司 一种数据的传输方法和装置
US12010008B2 (en) 2017-12-29 2024-06-11 Alibaba Group Holding Limited Network communication method and apparatus

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1547348A (zh) * 2003-12-10 2004-11-17 中国科学院计算技术研究所 基于智能网卡的计算机间用户级并行通信的方法
CN101119219A (zh) * 2007-09-12 2008-02-06 中兴通讯股份有限公司 一种广播组播业务中数据传输的实现方法及***
CN101931919A (zh) * 2010-08-18 2010-12-29 中国电信股份有限公司 长短信发送处理方法与装置、业务网关及通信***

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1547348A (zh) * 2003-12-10 2004-11-17 中国科学院计算技术研究所 基于智能网卡的计算机间用户级并行通信的方法
CN101119219A (zh) * 2007-09-12 2008-02-06 中兴通讯股份有限公司 一种广播组播业务中数据传输的实现方法及***
CN101931919A (zh) * 2010-08-18 2010-12-29 中国电信股份有限公司 长短信发送处理方法与装置、业务网关及通信***

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12010008B2 (en) 2017-12-29 2024-06-11 Alibaba Group Holding Limited Network communication method and apparatus
CN108471399A (zh) * 2018-02-07 2018-08-31 平安科技(深圳)有限公司 一种反洗钱作业中数据包的生成方法、存储介质和服务器
CN108471399B (zh) * 2018-02-07 2020-06-26 平安科技(深圳)有限公司 一种反洗钱作业中数据包的生成方法、存储介质和服务器
CN110611644A (zh) * 2018-06-15 2019-12-24 视联动力信息技术股份有限公司 一种数据的传输方法和装置

Similar Documents

Publication Publication Date Title
US10868767B2 (en) Data transmission method and apparatus in optoelectronic hybrid network
CN108270732B (zh) 一种流媒体处理方法及***
CN110022264B (zh) 控制网络拥塞的方法、接入设备和计算机可读存储介质
CN109412946B (zh) 一种确定回源路径的方法、装置、服务器及可读存储介质
WO2017067391A1 (zh) 虚拟机的数据共享方法及装置
CN108521343B (zh) 一种oam报文的处理方法及装置
US10148565B2 (en) OPENFLOW communication method and system, controller, and service gateway
US20160285820A1 (en) Method for processing address resolution protocol message, switch, and controller
WO2017198236A1 (zh) 数据发送方法、装置及***
CN109547162B (zh) 基于两套单向边界的数据通信方法
US10980043B2 (en) Data transmission method and device, and base station
WO2016062142A1 (zh) 报文汇聚传输的方法、装置和***
CN109067796A (zh) 一种数据传输方法及装置
CN103548315A (zh) 用于高性能低等待时间实时通知递送的方法和装置
CN107948217B (zh) 交换机***和通信方法
CN104717041A (zh) 数据传输方法和装置
CN108900433B (zh) 一种传输lora报文的方法、终端和服务器
US20180109451A1 (en) Protocol frame transmission method, apparatus, and system, and node device
CN104253811A (zh) 一种网络包通信方法和***
EP3672189B1 (en) Data transmission method, device and system
CN109067922A (zh) 一种数据传输方法及装置
CN107995315B (zh) 业务板间信息的同步方法、装置、存储介质及计算机设备
US9762353B2 (en) Data packet for bidirectional transmission of data packets during data transmission between a first and a second communication appliance, and method for transmitting such a data packet
WO2019015487A1 (zh) 一种数据重传处理方法、rlc实体和mac实体
EP2876830A1 (en) Data transmission method and device

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20141231

RJ01 Rejection of invention patent application after publication