【技术实现步骤摘要】
一种基于UDP协议无窗口可随机选取的文件传输方法
本专利技术涉及UDP传输
,尤其是一种基于UDP协议无窗口可随机选取的文件传输方法。
技术介绍
在文件传输中,通常使用滑动窗口协议,滑动窗口协议需要逐一等待对端每个数据分片的确认信息,在未收到接收的确认信息前,由窗口决定发送方能发送的最大数据量,滑动窗口协议在多线程编程必需要考虑多线程产生数据乱序的问题。用户数据报协议(UDP,UserDatagramProtocol),又称用户数据报协议,是OSI(开放式系统互联)参考模型中一种无连接的传输层协议,只管发送,能极大的提供网络的发送速度;但因为UDP协议不是面向连接且无序的特性,可能由于网络丢包等原因被未接收到,导致文件不完整,因此需要校验文件保证传输文件的完整性;且多线程重复切片重复发送文件片段也会造成资源浪费。
技术实现思路
本专利技术的目的在于克服现有技术的不足,提供一种基于UDP协议无窗口可随机选取的文件传输方法。本专利技术解决其技术问题是采取以下技术方案实现的:一种基于UDP协议无窗口可随机选取的文件传输方法,该方法包括以下步骤:步骤S1,服务器端读取文件数据,发送文件大小信息至客户端,客户端建立对应缓存区准备接收文件;步骤S2,服务器端根据传输线程数量将文件分割成对应数量的数据包,并对数据包进行标注,服务器端基于UDP协议多线程同时发送数据包及数据包标注信息至客户端;步骤S3,客户端接收数据包及数据包标注信息,校验数据包是否为有效数据包,校验 ...
【技术保护点】
1.一种基于UDP协议无窗口可随机选取的文件传输方法,其特征在于:该方法包括以下步骤:/n步骤S1,服务器端读取文件数据,发送文件大小信息至客户端,客户端建立对应缓存区准备接收文件;/n步骤S2,服务器端根据传输线程数量将文件分割成对应数量的数据包,并对数据包进行标注,服务器端基于UDP协议多线程同时发送数据包及数据包标注信息至客户端;/n步骤S3,客户端接收数据包及数据包标注信息,校验数据包是否为有效数据包,校验数据包是否为已接收数据包,在文件缓存区校验并将数据写入对应位置;/n步骤S4,启动定时器,客户端检查文件缓存区数据接收情况,统计丢包数据位置并发送给服务器端,请求对应数据包;服务器端根据客户端请求检索对应数据包及数据包标注信息发送至客户端;/n步骤S5,客户端继续定时检查文件,对比文件缓存区缓存的文件大小与实际发送文件大小,若一致,客户端发送停止文件发送指令至服务器端,服务器端关闭文件传输线程;/n步骤S6,客户端关闭文件接收线程,关闭定时器并将文件缓存区的数据写入硬盘。/n
【技术特征摘要】
1.一种基于UDP协议无窗口可随机选取的文件传输方法,其特征在于:该方法包括以下步骤:
步骤S1,服务器端读取文件数据,发送文件大小信息至客户端,客户端建立对应缓存区准备接收文件;
步骤S2,服务器端根据传输线程数量将文件分割成对应数量的数据包,并对数据包进行标注,服务器端基于UDP协议多线程同时发送数据包及数据包标注信息至客户端;
步骤S3,客户端接收数据包及数据包标注信息,校验数据包是否为有效数据包,校验数据包是否为已接收数据包,在文件缓存区校验并将数据写入对应位置;
步骤S4,启动定时器,客户端检查文件缓存区数据接收情况,统计丢包数据位置并发送给服务器端,请求对应数据包;服务器端根据客户端请求检索对应数据包及数据包标注信息发送至客户端;
步骤S5,客户端继续定时检查文件,对比文件缓存区缓存的文件大小与实际发送文件大小,若一致,客户端发送停止文件发送指令至服务器端,服务器端关闭文件传输线程;
步骤S6,客户端关闭文件接收线程,关闭定时器并将文件缓存区的数据写入硬盘。
2.根据权利要求1所述一种基于UDP协议无窗口可随机选取的文件传输方法,其特征在于:所述步骤S3包括:
步骤S3-1,客户端接收读取数据包及数据包标注信息,确定数据包为有效数据包;
步骤S3-2,客户端接收读取数据包及数据包标注信息,数据包为无效数据包,直接丢弃数据包不做处理。
3.根据权利要求1所述一种基于UDP协议无窗口可随机选取的文件传输方法,其特征在于:所述步骤S3还包括:
步骤S3-3,读取有效数据包数据,数据对应的文件实际位置,与文件缓存区中相应位置数据做比较,确定数据为未写入数据,则写入文件缓存区对应位置;
步骤S3-4,确定数据为文件缓存区已写入数据,则直接丢弃数据。
...
【专利技术属性】
技术研发人员:吴宗鸿,
申请(专利权)人:浙江鸿城科技有限责任公司,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。