基于HTTP协议的多线程下载器-答辩PPT_第1页
基于HTTP协议的多线程下载器-答辩PPT_第2页
基于HTTP协议的多线程下载器-答辩PPT_第3页
基于HTTP协议的多线程下载器-答辩PPT_第4页
基于HTTP协议的多线程下载器-答辩PPT_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于HTTP协议的多线程下载器目录开发背景介绍系统的开发背景系统分析系统需求分析以及功能模块的介绍系统实现设计与实现结束语

开发背景目前国内下载器有很多种,有基于HTTP下载的,也有基于P2P下载的。HTTP是HyperTextTransportationProtocol(超文本传输协议)的缩写,它是计算机之间交换数据的方式。HTTP下载模式是最经典的下载方式,绝大部分的下载软件是从基于HTTP下载模式发展来的。一个线程(thread)是“进程”中某个单一顺序的控制流。当一个任务包含多个操作时,我们就可以用到多线程。多线程的产生明显的提高了CPU的利用率。开发背景前面说过,HTTP是超文本传输协议,我们平常上网的浏览器(比如IE)的“本职工作”就是解读按照这种协议制作的网页和进行资源下载。使用IE直接进行下载非常方便,但是它有两个非常明显的不足:

IE直接下载没有实现“断点续传”

IE直接下载没有实现多线程系统分析根据对下载的功能特性进行分析,可以将下载器的需求简单的整理为如下几点:可视化界面;支持多线程下载(提高下载速度);支持断点续传;系统分析根据系统需求分析,系统需实现新建下载、暂停下载、开始下载、删除下载四个基本功能。当系统在存在未完成任务退出时需保存下载任务的断点信息;同时启动程序时应导入未完成任务的下载信息。此外,系统还需要设计一个悬浮窗来实现快速退出,隐藏/显示主界面等功能。系统用例图系统流程图系统实现所需开发环境

1.操作系统:Windows或

Linux系统2.开发环境:Eclipse3.开发工具包:JDK主界面主界面模块是界面和按钮监听事件的集合,用户每按一个按钮系统就会执行不同的事件。下图是MainFrame模块的主机面:下载表格模型模块下载表格模型(DownTableModel)即一个显示下载条目表格模型,用户增加的下载条目都会显示在表格中。下载表格模型界面如下图:新建下载模块根据需求分析,当用户点击新建下载按钮,则系统弹出一个新建下载对话框,里面包含一个输入url的文本框,一个保存地址的文本框,一个保存文件名的文本框。同时还有三个按钮(浏览、确实、取消)和一个选择线程数目下拉框。新建下载对话框下载模块下载(Download)模块主要包含如下几个步骤:获得下载连接和判断响应码创建下载线程和分配每个线程下载块的大小实时设定表格中下载任务的状态下载模块流程图线程下载模块线程下载(DownloadThread)模块主要用于实现某个线程具体下载的操作,如设定每个线程不同时刻的下载开始点和结束点,同时对目标文件进行I/O流操作,及时将下载信息写入目标文件。此模块的关键点在于设定每个线程的HTTP请求头,关键代码如下:httpConn.setRequestProperty("RANGE",bytes);//bytes为一个字符串:"bytes="+(this.start+pleted)+"-"this.end;存取断点信息模块存取断点信息(LoadProperty)模块简单来说可以划分为两个子模块:保存信息模块和加载信息模块。模块结构图如下:悬浮窗模块悬浮窗在系统启动时同主界面一同打开,一般位于右上角(用户可自由拖动其位置),用于快速退出系统和显示/隐藏主界面等。界面效果如下图所示:结术语通过此次毕业设计,我对JavaSE平台下的开发和应用有了一个整体的了解,尤其是使用Swing进行界面开发:其核心就

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论