计算机科学与技术毕业设计-2.8万字基于.NET的网络下载工具设计与实现.docx
《计算机科学与技术毕业设计-2.8万字基于.NET的网络下载工具设计与实现.docx》由会员分享,可在线阅读,更多相关《计算机科学与技术毕业设计-2.8万字基于.NET的网络下载工具设计与实现.docx(67页珍藏版)》请在课桌文档上搜索。
1、编号:()字号林生毕业设计(论文)题目:基于.NET的网络下载工具设计与实现姓名:XXX学号:08053320班级:计07-X十博一大-O一一年六月中国矿业大学本科生毕业论文姓名:XXXX学号:08053320学院:计算机科学与技术专业:计算机科学与技术论文题目:基于.NET的网络下载工具设计与实现专题:指导教师:李政伟职称:副教授2011年6月徐州中国矿业大学毕业论文任务书学院计算机专业年级计05-2学生姓名李闪闪任务下达日期:20XX年XX月XX日毕业论文日期:20XX年XX月XX日至20XX年XX月XX日毕业论文题目:基于.NET的网络下载工具设计与实现毕业论文专题题目:毕业论文主要内容
2、和要求:1 .使用C#语言,在VisualStudio2008.NET平台下进行开发2 .使用.NETFramework3.5类库3 .实现网络远程资源的多线程下载4 .实现断点续传的下载5 .具有良好的用户界面并且界面支持国际化院长签字:指导教师签字:中国矿业大学毕业论文指导教师评阅书指导教师评语(基础理论及基本技能的掌握;独立解决实际问题的能力;研究内容的理论依据和技术方法;取得的主要成果及创新点;工作态度及工作量;总体评价及建议成绩;存在问题;是否同意答辩等):成绩:指导教师签字:中国矿业大学毕业论文评阅教师评阅书评阅教师评语(选题的意义;基础理论及基本技能的掌握;综合运用所学知识解决实
3、际问题的能力;工作量的大小;取得的主要成果及创新点;写作的规范程度;总体评价及建议成绩;存在问题;是否同意答辩等):成绩:评阅教师签字:中国矿业大学毕业论文答辩及综合成绩答辩情况提出问题回答问题正确赫10有一般性1M则性没有答辩委员会评语及建议成绩:答辩委员会主任签字:年月日学院领导小组综合评定成绩:学院领导小组负责人:年月日现代信息技术的发展速度越来越快,每一台计算机工作都或多或少的依赖于计算机网络。而计算机使用网络目的就是获取网络上的资源和信息,而使用资源就需要从网络远程获取资源,如何从远程网络快速的获取大量的网络资源就是本文所要探讨的问题。本软件的主要功能是实现了HTTP资源的断点续传的
4、下载,能够对一个网络资源进行多线程任务下载,实现了用户界面的高度灵活以及国际化的支持。不足之处是只支持了最原始的下载方式,没有对目前主流的BT、P2P下载等做一些支持,同样也不能够像迅雷一样进行自主的资源嗅探。同时本软件支持了软件界面的国际化,可以使用不同的语言作为本软件的界面语言。采用Xml作为记录文件实现了文件的断点续传的下载,同时对于c#对于多线程的支持做了进一步的讨论。同时对一些C#提供的WindoWS控件进行了重载,达到定制控件的效果。关键词:下载;C#;.NET;多线程ABSTRACTTodaythedevelopmentofmoderninformationtechnologyi
5、sfasterandfaster,moreorlessdependentoncomputernetworks.Theaimistousenetworkcomputersaccesstonetworkresourcesandinformation,anduseofresourcesontheneedsofremoteaccesstoresourcesfromthenetwork,howfastthenetworkfromaremoteaccesstoalargenumberofnetworkresources,thisarticleistoexploretheissue.Theprimaryfu
6、nctionofthissoftwareistoachievetheresourcesHTTPdownload,toanetworkofresourcesformulti-threadeddownloadtaskstoachieveahighlyflexibleuserinterfaceaswellasinternationalsupport.Lackofsupportisonlythemostprimitivewaytodownload,thereisnomainstreamofthecurrentBT,P2Pdownloadingandothersupporttodosomething,t
7、hesamecannotbethesameasThunderresourcestocarryouttheirownsnuffer.Andthesoftwaresupportstheinternationalizationofsoftwareinterface,youcanuseadifferentlanguageasthelanguageofthesoftwareinterface.XmlasthelogfileusingaHTTPfiledownload,c#atthesametimeformulti-threadedsupportforfurtherdiscussion.Atthesame
8、time,someC#toprovidecontrolofthewindowshavebeenoverloadedtotheeffectofcustomcontrolsKeywords:Download;C#;.NET;Multithreading1绪论11.1 开发背景11.2 开发意义12系统分析22.1设计概述22.Ll实现目标22.1.2开发环境简介22.2开发相关技术简介42.2.1网络通信技术42.2.2多线程技术82.2.3HTTP和FTP协议92.2.4断点续传技术112.2.5XML及C#对于XML的支持142.2.6C#对于HTTP下载支持142.2.7C#3.O特性一Ii
9、nq152.3可行性分析162.3.1技术可行性分析162.3.2经济可行性分析162.3.3操作可行性分析163概要设计173.1勾173.2主要功能流程图173. 3其他主要功能184详细设计194. 1获取网络资源194. 1.1功能说明194.1. 2设计说明194. 2线程任务分配224.2. 1功能说明234.2.2设计说明234.2.3设计流程234.3创建下载任务244.4任务下载244.4.1功能说明254.4.2设计说明254.4.3核心流程254.5事件监听器设计264.5.1功能说明264.5.2事件核心代码274.6下载控制器设计274.6.1功能说明274.6.2主
10、要操作284.6.3功能流程284.7断点记录文件设计284.7.1断点记录文件的设计294.7.2设计说明294.8软件界面国际化支持304.8.1国际化支持流程304.8.2国际化支持设计314.9系统配置334.9.1注册表配置334.9.2XML文件配置344.IOGUI界面设计354. 10.1功能说明354. 10.2设计说明355设计问题总结395. 1断点设置问题395. 2下载速度统计问题395. 3GUI设计问题395. 4其他主要问题40总结41参考文献42翻译部分43英文原文43中文译文51致谢561绪论1.1 开发背景MiCroSOft在推出.NETFramework
11、时推出了C#语言,一种全新的面向对象的语言。C#语言在对于windows应用程序的方面有着良好的支持,用c#编写windowsAPPliCation方便快捷,而且程序的健壮性也很高。C#也从刚开始的1.0到LL2.0,3.0不断的发展强大,到如今的WPF,WCF等等。并且C#语言对于网络也有着良好的支持,HTPP、FTP、TCP、UDP等以及一些更高层更底层的网络协议的支持,所以采用C#作为开发语言是一个不错的选择。随着互联网应用范围不断扩展,网络包含的信息资源日益增多,互联网用户可以通过网络下载所需的数据资源保存在本地磁盘当中,因此相应的基于网络的下载工具应运而生。对于一个网络下载工具,有两
12、个问题一直阻碍着下载技术的发展:速度和下载后的管理。但是伴随着基于网络的多线程下载技术的出现,如今的下载工具彻底摆脱了这两个问题的束缚并且向着更为人性化的方面发展下去。1.2 开发意义本系统是开发一个多线程下载工具,基本实现单个资源的多线程任务下载,同时实现断点续传的功能。相对于目前主流下载工具的实现技术,例如p2p,BT等新的一系列下载技术是本设计是不能相比的。实现这么一个下载工具最大的意义是探索多线程下载的基本原理,断点续传的原理综合运用所学的知识,提高开发者的动手能力,及查阅资料继续学习的能力。本软件的过程中运用了很多c#中比较强大的功能,例如c#对于xml语言的支持,c#序列化的技术,
13、c#对于WindOWS底层的支持,c#网络功能,以及c#3.5所支持的LINQ,语言级集成查询(LangUageINtegratedQuery),加深开发者对于c#语言和相对应技术的学习,也满足了开发者对于c#APPliCation的追求。2系统分析2.1 设计概述2.1.1 实现目标对于一个多线程下载工具的设计,首先就是要设定好实现的目标,确定开发的环境。有个合理的设计目标使得在设计过程中就不会茫然,思路更清晰,编码就不用花费太多的时间。而一个好的前期设计和一个开发环境对提高开发的效率起着很重要的作用。实现一个实用的多任务,多线程下载工具。具备以下功能:1)实现一个简洁的易操作的GUl界面;
14、2)实现新建下载任务的功能;3)下载过程实现多任务,多线程的功能;4)实现任务暂停,及恢复下载的功能;5)实现停止任务功能;6)软件在下载过程中关闭,打开后重新开始下载;7)任务异常终止或不能下载时给予相关提示和进行一些相应的处理;8)以及一些断点续传下载软件常见的功能。2.1.2 开发环境简介MicrosoftVisualStudio2008简介MicrosoftVisualStudio2008使开发人员能够快速创建高质量、用户体验丰富而又紧密联系的应用程序,充分展示了Microsoft开发智能客户端应用程序的构想。借助VisualStudio2008,采集和分析信息将变得更为简单便捷,业务
15、决策也会因此变得更为有效。任何规模的组织都可以使用VisualStudio2008快速创建能够利用WindowsVista和2007Officesystem的更安全、更易于管理并且更可靠的应用程序。使用MiCrOSoft.NETFramework3.5.NETFramework提供了用于解决常见编程任务的构建基块(预制的软件),从而能够快速构造具有出色的最终用户体验的紧密联系的应用程序。在.NETFramework模型业务流程上有效构建的紧密联系的应用程序有利于在异类环境中实现系统集成。VisualStudio和.NETFramework的结合使用减少了对公用管道代码的需要,从而缩短了开发时间
16、并使开发人员能够集中精力解决业务问题。.NETFramework3.5是在.NETFramework3.0的基础上构建的更高版本。得到增强的功能领域包括基类库、Windowsworkflowfoundation、WindowsCommunicationFoundation、WindowsPresentationFoundation和WindowsCardSpace0开发人员使用VisualStudio2008专业版能够:集成的单元测试能够更有效的验证应用程序。应用程序的单元测试能够帮助我们在开发过程的早期轻松发现大量的问题。现在,VisualStudio2008专业版中集成了单元测试功能,以前
17、这个功能只在VisualStudioTeamSystem产品中提供。使用MicrosoftOffice系统开发用户熟悉的应用程序。Visualstudio2008专业版现在包括了VisualStudioToolsForOffice,这意味着我们的应用程序能够轻松融合世界上最流行的软件产品MicrosoftOfficeSystem0比如,开发人员能够直接将ERP的信息集成到OfficeOutlook的任务面板,这样用户就能够更轻松的访问到商务决策。让您的用户能够使用到WindowsMobile的应用程序。VisualStudio2008专业版让Mobile应用程序的开发变得更加简单。全新的设备仿
18、真器能够自动化测试场景,让您在近似于真实环境中进行应用程序的开发,比如:信号衰弱或电量不足。Mobile开发人员能够充分利用到一些更高级的特性,比如:LINQ和单元测试。开发人员现在能够扩展和整合用户体验,将丰富的多媒体用户体验发布到任何能够访问Internet的设备上。系统要求D支持的体系结构x86x64(WOW)2)支持的操作系统MicrosoftWindowsXPMicrosoftWindowsServer2003ServicePack2MicrosoftWindowsServer2008WindowsVista3)硬件要求最低要求:1.6GHzCPU,192MB内存,1024x768显
19、示器,5400RPM硬盘建议配置:2.2GHZ或更快的CPU,384MB或更大的内存,1280x1024显示器,7200RPM或更快的硬盘在WindoWSVista:2.4GHzCPU,768MB内存完全安装需要1.3GB可用磁盘空间2.2开发相关技术简介2.2.1 网络通信技术网络通信协议、接口和服务概述1)协议网络设计体系中的个体(每一台host),形象地理解为都包含一个“一堆相互叠加的层”。当两台在同一个网络设计体系中的主机要进行相互通信时,即一台机器上的第n层要与另一台机器上的第n层交流,在计算机对话中用到的规则和约定合起来称为第n层的协议(protocol)。就像人与人之间相互交流是
20、需要遵循一定的规矩一样,计算机之间的相互通信需要共同遵守一定的规律原则,这些规则就称为网络协议。常见的协议有TCP/IP(传输控制协议/网际协议)、IPX/SPX、NetBEUI等。在局域网中用得比较多的是IPXSPX0用户如果访问Inte门et,则必须在网络协议中添加TCP/IP。2)接口两台主机之间通信的传输数据不是从一台计算机上直接传递到另一台计算机上的同一层中,虽然在我们平时的印象中,计算机在执行网络通信时确实是采用“直接”的方式,但事实上,这只是给我们的“虚拟”印象。事实上,每一个网络层都将数据的控制信息传递到它的下一层,这样一直传递到最底下的一层。最底下的一层的传递数据的介质,即物
21、理介质,如光缆,通过它我们才可以进行实际的通信。网络系统的每一个实体中,联系相邻两层的通路就是接口(interface)o在接口的规范里,定义了下层向上层提供哪些网络服务和操作。图2-1网络分层结构图3)服务从实现的细节来看,下层向上层提供的服务分为两种形式:面向连接的服务和无连接的服务。面向连接的服务是一种基于电话模型的服务。在连接过程中,必须要经过三个步骤来完成数据通信、建立连接、使用连接、释放连接的工作。如下图演示了面向连接服务的通信模型。无连接的服务是一种基于邮政系统的模型。用户所发送的数据被分成相应的份数,每一条报文都携有完整的目标地址。其特点是每一条报文都相对独立,系统独立地进行路
22、由。各个报文到达目的地的顺序可能是乱序。如下图所示的为无连接服务的通信模型。图2-3无连接服务模型事实上,“有连接”的服务方式需要一定的代价来维护这条“通信信道”,所以,它比“无连接”的服务方式要耗费更多的网络通信资源。虽然它能提高通信数据传输的可靠性,但如果在“需重点考虑通信代价”的在线游戏数据传输的应用程序里,“无连接”服务方式的可行度就要比“有连接”的好。TCP/IP网络架构概述TCP/IP是一种网络通信协议,优点在于规范了网络上的所有通信设备,尤其是一个主机与另一个主机之间的数据往来格式以及传送方式。TCP/IP是IntenWt的基础协议,也是电脑数据打包和寻址的标准设备。在数据传送中
23、,可以形象地理解为有两个信封,TCP和IP就像是信封,要传递的信息被划分成若干段,每一段塞入一个TCP信封,并在该信封面上记录有分段号的信息,再将TCP信封塞入IP大信封,发送上网。而在接收端,一个TCP软件包负责收集信封,抽出数据,把这些数据按发送前的顺序还原,并加以校验,若发现差错,根据协议,接收端会发出“重发该数据”的请求。因此,TCP/IP在Internet中几乎可以无差错地传送数据。如下图所示为TCP/IP参考模型。SMTP,DNS,FTP,Telnet图2-4TCP/IP网络分层示意图从上图来看,网络接口层是TCP/IP模型的底层。它的功能是控制网络硬件,并发送IP数据报。实际上,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机科学 技术 毕业设计 2.8 基于 NET 网络 下载工具 设计 实现
链接地址:https://www.desk33.com/p-986007.html