




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、软件综合设计课程设计成绩评价表课程设计报告质量评价表选题(10%需求分析(10%)系统设计(30%编码(40%测试(10%总分课程设计答辩记录及评价表学生 讲述情况教师主要 提问记录学生回答 问题情况答辩评分评分项目分 值评价参考标准评 分总分优良中及格差选题的价值与意义1098764文献综述1098764研究水平与设计能力201917151310课程设计说明书(论 文)撰写质量201917151310学术水平与创新1098764答辩效果302825221915是否同意论文(设计)通过答辩同意 不同意答辩小组成员签名答辩小组组长签名:年 月日课程设计成绩评定表成绩汇总封面评分项目评分比例分数课
2、程设计总 分平时成绩20%课程设计报告30%答辩小组评分50%成都信息工程学院课程设计题目:大文件断点传输系统作者姓名:白燕荣班级:10级网络二班学号:2010121041指导教师:何林波日期:2013年1月5日作者签名:大文件断点续传的设计与实现摘 要随着互联网技术的迅猛发展,计算机通信给人类文明带来了翻天覆地的变化。 很多情况下,人们的日常工作需要借助文件传输来完成。但大多数文件传输功能 都需要借助移动磁盘等硬件设备或Internet上的服务器才能实现。这就给那些具有 大规模内部网络的用户造成了许多问题,如浪费资金、浪费网络资源、病毒入侵、 降低了工作效率等。为了方便局域网内主机的资源共享
3、,需要开发一个基于局域 网的文件传输工具,在内部网络中实现文件交换。基于局域网的文件传输系统的设计选用Virtual Studio 2008为开发工具,以HTTP协议及FTP协议实现局域网快 速的文件传输功能。本系统能够促进局域网内用户之间的文件资源共享,满足主 机之间信息交流,确保文件及文件夹传输安全性,有效地提高工作效率。设计共分为五大模块,分别为:一、介绍选题背景及意义和国内外研究现状;二、介绍 HTTP协议及FTP协议技术,C/S架构的WPF程序设计技术;三、对当前局域网文 件传输进行需求分析并提出解决方案;四、根据解决方案对系统进行设计;五、 对基于局域网的文件传输系统进行测试并得到
4、测试结果。关键词:HTTP协议FTP协议 WPF编程设计 TOC o 1-5 h z 1引言1 HYPERLINK l bookmark8 o Current Document 课题背景1 HYPERLINK l bookmark10 o Current Document 国内外现状1 HYPERLINK l bookmark12 o Current Document 本课题研究的迫切性 1 HYPERLINK l bookmark14 o Current Document 本课题的研究作用 2 HYPERLINK l bookmark16 o Current Document 本文的主要工作
5、 2 HYPERLINK l bookmark18 o Current Document 2系统需求分析和开发工具 2 HYPERLINK l bookmark20 o Current Document 系统目标2 HYPERLINK l bookmark22 o Current Document 系统应具备的基本功能 2 HYPERLINK l bookmark24 o Current Document 开发环境及工具 3开发环境3ASP技术介绍 3HTTP 协议3HTTP实现断点续传的原理 3FTP 协议3FTP工作原理 4WPF 简介4 HYPERLINK l bookmark26 o
6、Current Document 3系统总体结构设计 4 HYPERLINK l bookmark28 o Current Document 系统基本简介4 HYPERLINK l bookmark30 o Current Document 系统功能模块设计 4基于HTPP协议下的功能 4基于FTP协议下的功能 54系统流程与实现 5系统设计流程 5 HYPERLINK l bookmark35 o Current Document 页面详细介绍65系统测试与分析 7测试10 HYPERLINK l bookmark40 o Current Document 调试过程中遇到的问题 11结 论1
7、2 HYPERLINK l bookmark44 o Current Document 参考文献 12第 页 共 16 页1 引言课题背景该项目是在微软的 WPF下进行的开发,要求对 C#S言熟练的掌握,系统的 开发涉及到C#语言的编写和框架布局的应用。文件传输功能成为现在流行的即 时通信工具不可少的一部分。要实现一个功能较完善的文件传输工具,大文件在上传下载是节省时间,提高速度。并可以在传输过程进行简单交互的功能。国内外现状目前, 国内外企业对局域网的文件传输系统认识和使用情况并不好, 各个企业单位在局域网内实现文件传输, 资源共享还有很大的缺陷。 技术无论是从理论上或实践上都还不够完善。文
8、件传输系统由于比较复杂,可变因素较多, 安全性低,因此发展还不成熟。 但是随着科学技术的发展,各种以局域网为单位的文件传输系统已经进入稳健发展期, 比如说市面上比较普遍使用的 QQ、 UC 、 飞鸽传书等以内部网络为中心的资源共享系统也即将进入高速发展期。 在国内, 随着企业资源管理的规范化和规模的不断扩大, 企业的计算机资源管理将不仅仅停留在依靠硬件或者 Internet 网络获取,而且将会向着安全的内部网络化资源管理方式迈进。 随着互联网技术的迅猛发展,计算机通信给人类文明带来了翻天覆地的变化。本课题研究的迫切性很多情况下, 人们的日常工作需要借助文件传输来完成。 但大多数文件传输功能都需
9、要借助移动磁盘等硬件设备或Internet 上的服务器才能实现。这就给那些具有大规模内部网络的用户造成了许多问题,如浪费资金、浪费网络资源、 病毒入侵、 降低了工作效率等。 为了方便局域网内主机的资源共享, 需要开发一个基于局域网的文件传输工具,在内部网络中实现文件交换。 基于局域网的文件传输系统的设计选用 .C# 为开发工具, 以 http 协议及 Ftp 协议通过建立连接后实现广域网快速,准确, 安全文件上传下载功能。 本系统能够实现大文件的快速上传下载,并确保文件及文件夹传输安全性,有效地提高工作效率。本课题的研究作用按照老师布置的实践任务,实现大文件传输断点处理,并完成代码的撰写,在编
10、写代码的过程中, 对学过的专业知识进行, 加强编写代码的能力和逻辑思维能力,初步掌握 C#网络编程原理。在撰写设计文档的过程中,对一个项目的设计开发过程进行梳理, 熟悉设计文档编写的规范和要求, 为今后项目开发打基础。本文的主要工作本文主要是在 Microsoft Visual Studio 2010环境下应用 C#i言通过文件传输 协议中的 HTTP 协议和 FTP 协议完成对大文件断点续传的功能设计,其次实现特大文件在短时间内快速上传下载功能。2 系统需求分析和开发工具系统目标该系统的具体任务就是设计大文件断点传输系统, 使用 HTTP 协议及 FTP 协议实现文件断点续传快速下载功能,
11、提高资源共享速率, 方便用户上传下载文件,提高工作效率。 设计的指导思想是一切为用户着想,界面要美观大方,操作尽量简单明了, 而且作为一个实用的应用程序要有良好的容错性, 在用户出现误操作时能尽量及时地给出警告,以便用户及时改正。系统应具备的基本功能1基于HTTP 协议实现大文件断点下载功能。2基于FTP 协议实现大文件上传功能。3基于FTP 协议实现大文件下载功能。3.2.1基于HTPP协议下的功能第 页共16页第 页共16页开发环境及工具开发环境? 硬件平台:两台PC机 客户端,服务器各一台? 操作系统:win7;? 开发的语言:C#;? 环境:Microsoft Visual Studi
12、o 2010。ASP技术介绍ASP,是Active Server Page的缩写,意为“动态服务器页面”,是微软公司 开发的代替CGI脚本程序的一种应用,它可以与数据库和其它程序进行交互, 是一种简单、方便的编程工具。ASP是一种服务器端脚本编写环境,可以用来创 建和运行动态网页或 Web应用程序。ASP网页可以包含HTML标记、普通文本、 脚本命令以及COM组件等。利用ASP可以向网页中添加交互式内容(如在线表 单),也可以创建使用HTML网页作为用户界面的web应用程序。HTTP 协议超文本传输协议 (HTTP-Hypertext transfer protocol)是分布式,协作式,超
13、媒体系统应用之间的通信协议。是万维网(world wide web)交换信息的基础。 它允许将超文本标记语言 (HTML)文档从 Web服务器传送到 Web浏览器。 HTML是一种用于创建文档的标记语言,这些文档包含到相关信息的链接。您 可以单击一个链接来访问其它文档、图像或多媒体对象,并获得关于链接项的附加信息。基于HTTP实现断点续传的原理断点续传就是指:文件在传输过程式中被中断后,在重新传输时,可以从上次 的断点处开始传输,这样就可节省时间,和其它资源.实现关键在这里有两个关键 点,其一是检测本地已经下载的文件长度和断点值,其二是在服务端调整文件指针 到断点处实现方法我们用一个简单的方法
14、来实现断点续传的功能.在传输文件 的时候创建一个临时文件用来存放文件的断点位置在每次发送接受文件时,先检查有没有临时文件,如果有的话就从临时文件中读取断点值,并把文件指针移动到 断点位置开始传输,这样便可以做到断点续传了。FTP 协议FTP (File Transfer Protocol, FTP )是TCP/IP网络上两台计算机传送文件 的协议,FTP是在TCP/IP网络和INTERNET上最早使用的协议之一,它属于 网络协议组的应用层。FTP客户机可以给服务器发出命令来下载文件,上载文 件,创建或改变服务器上的目录。FTP工作原理文件传输协议(FTP)是TCP/IP提供的标准机制,用来将文
15、件从一个主机 复制到另一个主机。FTP使用TCP的服务。WPF 简介WPF 为 Windows Presentation Foundation 的缩写,意思是基于 windows 的图形界面处理,其原来代号为 Avalon”,因我佩服拼音首字母组合一样,国 内有人调侃地称之为 我佩服”。由.NET Framework 3.0 开始引入,与 Windows Communication Foundation 及 Windows Workflow Foundation 并行为新一代 Windows操作系统以及 WinFX的三个重大应用程序开发类库。WPF是微软新 一代图形系统,运行在.NET Fra
16、mework 3.0架构下,为用户界面、2D/3D图形、 文档和媒体提供了统一的描述和操作方法。基于DirectX 9/10技术的WPF不仅带来了前所未有的3D界面,而且其图形向量渲染引擎也大大改进了传统的2D界面,比如Vista中的半透明效果的窗体等都得益于 WPF。程序员在 WPF的 帮助下,要开发出媲美 Mac程序的酷炫界面已不再是遥不可及的奢望。WPF相对于Windows客户端的开发来说,向前跨出了巨大的一步,它提供了超丰富 的.NET UI框架,集成了矢量图形,丰富的流动文字支持flow text support , 3D视觉效果和强大无比的控件模型框架。3系统总体结构设计该系统主要
17、由俩个主题构成, 协议完成的上传下载功能。系统基本简介_*个是基于 HTTP协议完成的断点下载 ,个是基于 FTP系统功能模块设计文件断点续传系亚基于 HTTP协基于FTP协议议一4.2.3FTP实现下载上传流程图第 页共16页第 页 共 16 页 下载: 首次传输其流程如下: 1.服务端向客户端传递文件名称和文件长度 2.跟据文件长度计算文件块数 3.客户端将传输的块数写入临时文件 若文件传输成功则删除临时文件 暂停: 第二次下载按以下流程进行 1.客户端从临时文件读取断点值并发送给服务端 2.服务端与客户端将文件指针移至断点处 3.从断点处传输文件 删除:点击删除,触发删除处理事件,可以将
18、下载完成的目录删除。3.2.2基于 FTP 协议下的功能下载:输入 FTP 服务器的 IP 地址,发送请求。上传:键入客户端要上传文件的路径,输入上传到服务器的 IP 地址。删除:点击删除,触发删除处理事件,可以将下载完成的目录删除。系统流程与实现系统设计流程设计流程:.明确设计目标:实现对大文件断点传输;.确定使用协议:HTTP 协议, FTP 协议;.确定开发平台: Microsoft Visual Studio 2010;.设计用户界面,把各个功能在用户界面上体现出来;.设计前台页面;.使用C#编写后台代码。4.2页面详细介绍系统实现框架图客门端力说解粹济下载文件流程(基于HTTP实现断
19、点下载的流程图)第 页 共 16 页第 页共16页用户界面实现功能的部分代码.基于http协议实现断点下载的部分代码: public void Start()/检查文件是否存在/CheckFileOrCreateFile;if ( File .Exists(localAdress)stream =File .OpenWrite(localAdress);downLoadSize = stream.Length;flowSize = stream.Length;beforFlowSize = stream.Length;SeekOrigin .Current);stream.Seek(downL
20、oadSize, return ;elsestream =new FileStream (localAdress, FileMode .Create);downLoadSize = 0;flowSize = 0;beforFlowSize = 0;/ 获取文件大小HttpWebRequesthttpRequest( HttpWebRequest) HttpWebRequest.Create(fileAdress);HttpWebResponsehttpResponse = ( HttpWebResponse)httpRequest.GetResponse(); this .fileSize =
21、 httpResponse.ContentLength;/ 开始在后台线程下载/BeginDownload;ThreadStart threadStart = new ThreadStart (Download);downloadThread = new Thread(threadStart);downloadThread.IsBackground =true ;downloadThread.Start(); 基于 ftp 协议实现下载的部分代码public void Download()isstart =true ;FtpWebRequest reqFTP;/uri = ftp:/ + ft
22、pServerIP + / + path + fileName;tryFileStream outputStream = new FileStream (filePath, FileMode .Create); reqFTP = (FtpWebRequest) FtpWebRequest.Create( new Uri (uri);req HYPERLINK ftp:/FTP.Method FTP.Method =WebRequestMethods. Ftp .DownloadFile;req HYPERLINK ftp:/FTP.Credentials FTP.Credentials =re
23、q HYPERLINK ftp:/FTP.UseBinary FTP.UseBinary =true ;new NetworkCredential (ftpUserID, ftpPassword);FtpWebResponseresponse = ( FtpWebResponse)reqFTP.GetResponse();Stream ftpStream = response.GetResponseStream();long cl = response.ContentLength;int bufferSize = 2048;int readCount;byte buffer = new byt
24、e bufferSize;readCount = ftpStream.Read(buffer, 0, bufferSize);while (readCount 0)outputStream.Write(buffer, 0, readCount);readCount = ftpStream.Read(buffer, 0, bufferSize);ftpStream.Close();outputStream.Close();response.Close();isfinish =true ;catch. 基于 ftp 协议实现上传部分代码public void Download()isstart =
25、true ;FtpWebRequest reqFTP;/uri = ftp:/ + ftpServerIP + / + path + fileName;tryFileStream outputStream = new FileStream (filePath, FileMode .Create); reqFTP = (FtpWebRequest) FtpWebRequest.Create( new Uri (uri);req HYPERLINK ftp:/FTP.Method FTP.Method =WebRequestMethods. Ftp .DownloadFile;req HYPERL
26、INK ftp:/FTP.Credentials FTP.Credentials =req HYPERLINK ftp:/FTP.UseBinary FTP.UseBinary =true ;new NetworkCredential (ftpUserID, ftpPassword);FtpWebResponseresponse = ( FtpWebResponse)reqFTP.GetResponse();Stream ftpStream = response.GetResponseStream();long cl = response.ContentLength;int bufferSize = 2048;int readCount;byte buffer = new byte bufferSize;readCount = ftpStream.Read(buffer, 0, bufferSize);while (readCount 0)outputStream.Write(buffer, 0, readCount);readCount = ftpStream.Read(buffer, 0, bufferSize);ftpStream.Close();outputStream.Close();response.Close();isfinish =true ;第 页共
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030年中国铸造碳钢件数据监测研究报告
- 2025-2030年中国大功率工业齿轮箱数据监测研究报告
- 部编版一年级语文下册第六单元练习题(含答案)
- 公司员工劳务派遣协议书
- 山东家庭室内绿化施工方案
- 企业产品加工合同
- 个人汽车租赁合同文本
- 广西不锈钢旗杆施工方案
- 男方协议离婚样本
- 中心社区房屋买卖代理合同
- 仰拱栈桥计算
- 中医妇科 月经过多课件
- 2022年江西制造职业技术学院单招语文试题及答案解析
- 穆斯林太巴热咳庆念词文
- 商标一级授权书模板
- 软硬结合板的设计制作与品质要求课件
- 民营医院组织架构图示
- 慢性心功能不全护理查房
- 初中 初二 物理 凸透镜成像规律实验(习题课) 教学设计
- 消防维保方案 (详细完整版)
- 小学综合实践六年级上册第2单元《主题活动二:设计一周营养食谱》教案
评论
0/150
提交评论