基于HTTP协议的多线程下载器-答辩PPT.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于HTTP协议的多线程下载器-答辩PPT.ppt

基于HTTP协议的多线程下载器 目录 开发背景 介绍系统的开发背景 系统分析 系统需求分析以及功能模块的介绍 系统实现 设计与实现 结束语 开发背景 目前国内下载器有很多种,有基于HTTP下载的,也有基于P2P下载的。HTTP 是 Hyper Text Transportation Protocol(超文本传输协议)的缩写,它是计算机之间交换数据的方式。HTTP下载模式是最经典的下载方式,绝大部分的下载软件是从基于HTTP下载模式发展来的。 一个线程(thread)是“进程”中某个单一顺序的控制流。当一个任务包含多个操作时,我们就可以用到多线程。多线程的产生明显的提高了CPU的利用率。 开发背景 前面说过,HTTP是超文本传输协议,我们平常上网的浏览器(比如IE)的“本职工作”就是解读按照这种协议制作的网页和进行资源下载。 使用IE直接进行下载非常方便,但是它有两个非常明显的不足: IE直接下载没有实现“断点续传” IE直接下载没有实现多线程 系统分析 根据对下载的功能特性进行分析,可以将下载器的需求简单的整理为如下几点: 可视化界面; 支持多线程下载(提高下载速度); 支持断点续传; 系统分析 根据系统需求分析,系统需实现新建下载、暂停下载、开始下载、删除下载四个基本功能。当系统在存在未完成任务退出时需保存下载任务的断点信息;同时启动程序时应导入未完成任务的下载信息。此外,系统还需要设计一个悬浮窗来实现快速退出,隐藏/显示主界面等功能。 系统用例图 系统流程图 系统实现 所需开发环境 1.操作系统:Windows 或 Linux系统 2.开发环境:Eclipse 3.开发工具包:JDK 主界面 主界面模块是界面和按钮监听事件的集合,用户每按一个按钮系统就会执行不同的事件。下图是MainFrame模块的主机面: 下载表格模型模块 下载表格模型(DownTableModel)即一个显示下载条目表格模型,用户增加的下载条目都会显示在表格中。 下载表格模型界面如下图: 新建下载模块 根据需求分析,当用户点击新建下载按钮,则系统弹出一个新建下载对话框,里面包含一个输入url的文本框,一个保存地址的文本框,一个保存文件名的文本框。同时还有三个按钮(浏览、确实、取消)和一个选择线程数目下拉框。 新建下载对话框 下载模块 下载(Download)模块主要包含如下几个步骤: 获得下载连接和判断响应码 创建下载线程和分配每个线程下载块的大小 实时设定表格中下载任务的状态 下载模块流程图 线程下载模块 线程下载 (DownloadThread)模块主要用于实现某个线程具体下载的操作,如设定每个线程不同时刻的下载开始点和结束点,同时对目标文件进行I/O流操作,及时将下载信息写入目标文件。此模块的关键点在于设定每个线程的HTTP请求头,关键代码如下: httpConn.setRequestProperty(RANGE,bytes ); // bytes为一个字符串:bytes=+(this.start+pleted)+- this.end; 存取断点信息模块 存取断点信息(LoadProperty)模块简单来说可以划分为两个子模块:保存信息模块和加载信息模块。模块结构图如下: 悬浮窗模块 悬浮窗在系统启动时同主界面一同打开,一般位于右上角(用户可自由拖动其位置),用于快速退出系统和显示/隐藏主界面等。界面效果如下图所示: 结术语 通过此次毕业设计,我对JavaSE平台下的开发和应用有了一个整体的了解,尤其是使用Swing进行界面开发:其核心就是定义界面各个组件和组件的监听事件。 最后感谢陈林书老师给我的帮助和指导; 感谢梁伟老师对我程序的测试和点评; 感谢在场的所有的老师。 THE END 谢谢!

文档评论(0)

此项为空 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档