[发明专利]一种基于UDP的报文传输方法及装置有效
申请号: | 201710639307.X | 申请日: | 2017-07-31 |
公开(公告)号: | CN107360177B | 公开(公告)日: | 2019-09-17 |
发明(设计)人: | 王乾;王富涛 | 申请(专利权)人: | 杭州迪普科技股份有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L1/18 |
代理公司: | 北京博思佳知识产权代理有限公司 11415 | 代理人: | 林祥 |
地址: | 310051 浙江省杭*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据报文 报文类型 存储 报文传输 成功发送 确认报文 字段 数据报文发送 电子设备 目标设备 重新发送 字段携带 字段指示 有效地 报文 申请 删除 | ||
1.一种基于UDP的报文传输方法,应用于电子设备,其特征在于,包括:
将UDP封装后的数据报文发送至目标设备;其中,UDP报文头包括序列号字段和报文类型字段,所述报文类型字段指示的报文类型包括数据报文和确认报文,所述序列号字段携带唯一的序列号;
在本地存储所述数据报文的序列号;其中,本地存储的所述序列号在所述电子设备接收到与所述数据报文对应的确认报文后删除;
基于本地存储的序列号确定所述数据报文是否成功发送,并在未成功发送时重新发送所述数据报文;
所述电子设备预配置用于存放UDP报文的序列号的数组,其中,所述数组中包含预设数量的数组项,各数组项可存放唯一的序列号;
所述在本地存储所述数据报文的序列号,包括:
将所述数据报文的序列号存储至所述数组项中;
所述数组项分别携带表征其在数组中次序的下标,所述数组包括终点游标;其中,所述终点游标指向存放最大序列号的数组项;所述方法还包括:
获得所述数据报文;
将所述数据报文的特定信息存放至当前所述终点游标指向的数组项后一项的数组项中,并将所述终点游标移至该数组项;其中,所述特定信息包括数据报文的报文内容或与所述数据报文对应的指针,该指针指向存储所述报文内容的内存;
基于该数组项的下标和所述终点游标在所述数组中的循环次数计算得到所述数据报文的序列号;
将所述序列号写入所述数据报文的所述序列号字段。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收到所述目标设备发送的所述数据报文;
获取所述数据报文携带的序列号;
组装携带所述序列号的确认报文,并向所述目标设备发送所述确认报文。
3.根据权利要求1所述的方法,其特征在于,所述数组项包括时间标识,该时间标识记录与所述数组项存放的序列号对应的数据报文的发送时间;
所述基于本地存储的序列号确定所述数据报文是否成功发送,包括:
根据数组项的下标递增的方向,周期性遍历各数组项的时间标识;
确定是否存在与任一数组项存放的序列号对应的数据报文发包超时;
如果存在发包超时,确定所述数据报文未成功发送。
4.根据权利要求1所述的方法,其特征在于,所述报文类型包括连接请求报文和连接确认报文,所述方法还包括:
向所述目标设备发送数据报文之前,发送所述连接请求报文至所述目标设备;
在预设的等待时间内,确定是否接收到所述目标设备返回的所述连接确认报文;
如果是,确定与所述目标设备建立连接关系;
如果否,继续向所述目标设备发送所述连接请求报文;
如果发送所述连接请求报文的次数达到预设的探测阈值,仍未接收到所述目标设备返回的所述连接确认报文,停止发送所述连接请求报文。
5.根据权利要求4所述的方法,其特征在于,所述报文类型包括连接保活报文,所述方法还包括:
基于预设的保活周期向所述目标设备发送所述连接保活报文;以及,
如果在预设的保活超时时间内未接收到所述目标设备发送的所述连接保活报文,确定与所述目标设备之间的连接关系断开。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州迪普科技股份有限公司,未经杭州迪普科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710639307.X/1.html,转载请声明来源钻瓜专利网。