多线程文件断点续传

  • 格式:pdf
  • 大小:407.07 KB
  • 文档页数:5
与客户端的发送 线程对应 ,接 收数据 ,记录数据传输进程 。
用 于在服务 器端 和客户端 之 间传递文件 第 N块 的属性信
息 ,详细定义如下 :
src lif tu t i no fe



— 蟪 一 ~ !
… 一 一 ’ … ’ … ’ … ‘
∞ 计I 正z 件中的 蜀轴倥 量
whl(rt==S K R OR) i ( e e OC E R && ( i oSr口0眯It Wa F rl e t c
( Cin 一 m_ E e t i 0 一 p l t > e h v n Ki ) 二 、设 计 思 路
多线程断点续传实 2现 的基本思想就是在发送端 ( 也称客 户端 )将要传输 的文件分割为大小相 当的多块 ,用多个线程 , 将这些块 同时 向目标服务器端发送 ;在服务器端的服务程序监
( )文件信息数据结构 1
听数据传输请求 ,每 当接到新的请求 ,则创建一个新的线程 ,

p o e t d rt ce : //Atr u e ti t s b
fenofe f ; i if iino l l //C n c ev r on e toS re t
rt= c n e t r_ o k t I PS K e o n c { s e L OC ADDR) & lc l sz o e c o a, i f e ( c l} 1 a} : o
≥ lj 0


t _
一 ≮ |
维普资讯
N ETW ORK& COM M UN I: (ATI N o 中的 属 性 信 息 、 已发 送 大 小 、发 送 线 程 句 柄 、发 送 线 程 状 态 、 发 送 统计 信息 等 ,定 义 如 下 : cas Cin : u l O jc l l t p biC be t sC e c
l gtt ; / o l / 已经成 功发送数据的长度: n oe it l k / 块标识: n o ; / bc ln fee ; / o g i l t 文件总长度 ln i r d o / n t e n ;/ 负责传输第 N块数 据的线程标识; th a C tn a : / Sr gn me / 文件名称 i
用 户记 录文 件 传 输 进 程 ,定 义 如 下 :
sr c e t f tu t n l o S n
s 7逼 出女 喇曼
点 对 点 文件 断点 续 传 过 程 图

上图是 点对 点文件断点续传第 N块传输过程示意 图。在传
输发 起端 ( 户端 ),将大 型文件 事先分 割为 大小相 当 的 N 客
} :
()客户端类 3
客 户 端 文 件 发 送 实 例 封 装 ,用 户 记 录 客户 端文 件 发 送 过 程
- -
一 鼍誊 一 “ 。
一 。警 誊 毒警矗 薯鬻

0 誊 劳麓氇 譬 薯# | 警 ≯;
_ I 。
豫鼍 iml m s
j 童
臻 0
| -l
l n e k o gs e ;

/ 开始位置, / 标识要传输数据在原文件 中的起始位置 c a n me MA _A H L N] / 文件名 hra f XP T _E ; /
) :
c. 7 已亮戚簟砖 传输 c B退出● 啦

( )发 送 进度 记 录 结 构 2
s 5已完成
c 3取出—块数磊 ・ 大小为砌
i f n ; / 件 号 n i o/ 文 tl e ~ i tp ;/ 消息类别 n ye / t l ge ;/ 文件《 长度, o n / nl 块) 在客户端 向服务器端发送数据时. / 是 文件 长 度 : / / 在服务器端向客户端发送已传部分 的信息 时, / 是应该 续传 / 部分的长度: / ,
程技术和 Sce 技术为依托 ,介绍大型文件断点续传的实现方 okt
法。
三 、具 体 实现
在 实 现 过程 中本 人使 用 了 M C的 多线 程 和 Wi o s的 F n w d Sce,分客户端 和服务器端 实现 。因为数 据传输往 往是对等 okt
的 ,所 以需 要 将 客 户 端 和 服 务 器 端 集 成 在 一 起 ,在 客 户 端 和服 务 器 端 分 别 实 现 后 ,这 是 件 非 常 简 单 的 工 作 ,只 需 将 它 们 集 成 在 一起 即 可 。下 面将 分 别 介 绍 客 户 端 和 服 务 器端 的 实 现 。 1 数 据结 构 .



维普资讯
■。 j it | ’
《 }《 露
N E_W O RK&C0 M M I l A 0N T C Tl
萋 终 j 件 蕾 意 续 器 霉


| 。 萎


一: f l l

冯 絮毒 t 明彝 | i


概 述
文件断点续传 就是在主机与主机间传输文件时 ,可以将 文
接收到该请 求后 ,向客户端发 送数 据传输信 息 ,客户端然后传 输数据传输信息块指 定的数据 给服务器端 ,服务器端更新数据 传输信息块 。
件分多次传输 ,与非断点续传不 同的是 ,每次传输不必传输整
个文件。断点续传是大型文件数 据传输的核心。本文将 以多线
块 ,同时创建 N个传输线程 ,连接 目标端服务器。当服务器端 接收到每一个连接请求后 ,告知客户端可 以传输文件 。当客户 端接收到可 以传输文件的消息时 ,首先 向服务器发送数据传输 信息块 ( 包括第几块 、在块 中的起始位置 )请求 ,当服务器端 誓 | 誓 |t | | | 譬 鼍 - j l i § — 。。