毕业设计精品]基于SOCKET的大文件批量传输系统的设计与实现.doc_第1页
毕业设计精品]基于SOCKET的大文件批量传输系统的设计与实现.doc_第2页
毕业设计精品]基于SOCKET的大文件批量传输系统的设计与实现.doc_第3页
毕业设计精品]基于SOCKET的大文件批量传输系统的设计与实现.doc_第4页
毕业设计精品]基于SOCKET的大文件批量传输系统的设计与实现.doc_第5页
已阅读5页,还剩66页未读 继续免费阅读

下载本文档

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

文档简介

I基于SOCKET的大文件批量传输系统的设计与实现摘要:Socket在英文中是插座的意思,它的设计者实际上是暗指电话插座。因为在Socket环境下编程很像是模拟打电话,Internet的IP地址就是电话号码,要打电话,需要电话插座,在程序中就是向系统申请一个Socket,以后两台机器上的程序“交谈”都是通过这个Socket来进行的。对程序员来说,也可以把Socket看成一个文件指针,只要向指针所指的文件读写数据,就可以实现双向通信。利用Socket进行通信,有两种主要的方式。第一种是面向连接的流方式。顾名思义,在这种方式下,两个通信的应用程序之间先要建立一种连接链路,其过程好像在打电话。一台计算机(电话)要想和另一台计算机(电话)进行数据传输(通话),必须首先获得一条链路,只有确定了这条通路之后,数据通话)才能被正确接收和发送。这种方式对应的是TCP(TransportControlProtocol)协议。第二种叫做无连接的数据报文方式,这时两台计算机像是把数据放在一个信封里,通过网络寄给对方,信在传送的过程中有可能会残缺不全,而且后发出的信也有可能会先收到,它对应的是UDP(UserDatagramProtocol)协议。流方式的特点是通信可靠,对数据有校验和重发的机制,通常用来做数据文件的传输。网络的快速发展和普及,文件传输愈来愈频繁,传输文件容量越来越大,单纯的套接字传输不能满足需求。WindowSocket编程和多线程技术结合可以很好的解决这一问题,使得文件传输效率大大提高能很好的支持大文件、批量传输,提高服务器的响应能力和并发处理能力。WindowSocket采用字节流的方式传输数据,可以很好的保证传输的稳定性和安全性;而采用动态哈夫曼编码实现传输流的压缩,减轻网络传输负担,提高网络性能满足用户的需求。关键字:Socket;TCP;多线程;RUP;UMLThelargefilesbulktransmissionbasedonsocketsystemIIdesignandimplementation(HunancityUniversityThecomputerscienceis2,004levelsofcomputersciencesandthetechnicalspecialty,Hunanyiyang413000)Abstract:SocketsocketinEnglishisthemeaning,itisimpliedinfact,thedesignersoftelephonesocket.Socketenvironmentbecausetheprogrammingissimilartoanalogtelephone,InternetIPaddressisthetelephonenumbertocall,theneedtophonejack,intheproceedingsistoapplyasystemSocket,aftertwomachinesontheproceduresconversationThroughthisSocketareconducted.Theprogrammers,canalsoSocketasaguidelinedocument,aslongastheguidelinesreferredtothedocumentstoreadandwritedata,wecanachievetwo-waycommunication.SocketCommunicationstouse,therearetwomainways.Thefirstistoconnecttheflow-orientedapproach.Asthenamesuggests,inthisway,thetwocommunicationsapplicationstoestablishalinkbetweenthefirstlink,theprocessseemstobecalled.Acomputer(telephone)andtoanothercomputer(phone),datatransmission(call),youmustfirstobtainalink,onlyidentifiedthispathway,thedata(all)canbeproperlyreceiveandsend.ThisisthecorrespondingTCP(TransportControlProtocol)agreement.Thesecondiscalledadatalinktothetext,thentwocomputerssuchasdataonanenvelope,senttoeachotherthroughthenetwork,believedtobeintheprocessoftransmissionmaybeincomplete,andissuedaletterMayalsohavetoreceive,itisthecorrespondingUDP(UserDatagramProtocol)agreement.Wayflowofcommunicationischaracterizedbyreliable,thedataandre-issuedacheckmechanism,usuallyusedforthetransmissionofdatafiles.Network';srapiddevelopmentandpopularityoffiletransfermoreandmorefrequent,increasingthecapacityoftransferringfiles,asimplesockettransmissioncannotmeetthedemand.WindowSocketprogrammingandmulti-threadingcancombinegoodsolutiontothisproblem,makingfiletransfergreatlyenhancedtheefficiencyoflargefilescanbeverygoodsupport,bulktransmission,improveservercapacityandwiththeresponsecapacity.WindowSocketusedbyte-waytransmissionofdata,canguaranteeagoodtransferofstabilityandsecurityandtheuseofdynamicHuffmanCodingtransportstreamcompression,reducetheburdenontransmissionnetworks,improvenetworkperformancetomeettheneedsofusers.IIIKeywords:Socket;TCP;multi-threaded;RUP;UML;目录1.绪论.11.1面向对象思想和UML.11.2RUP迭代开发.11.3套接字的发展.11.4多线程技术.21.5基于SOCKET的大批量文件传输系统的功能和特点.21.6目的.22可行性分析.32.1编写目的.32.2建议系统可行性分析.42.3经济可行性分析.53.系统设计与分析.63.1概念的定义.63.2设计人员.93.3需求分析.93.4系统总体设计.203.5系统详细设计.223.6数据库理论技术.463.7数据库设计说明.494.应用系统实现.514.1应用系统开发工具.514.2C/S模型的实现.534.3主要功能实现.545.软件测试.575.1测试概要.575.2测试计划.575.3测试总结.596.安装部署.606.1简介.606.2系统环境.606.3应用程序安装部署.606.4部署SQL数据库.627.总结.638.致谢语.649.参考文献.6511.绪论1.1面向对象思想和UML面向对象方法(Object-OrientedMethod)是一种把面向对象的思想应用于软件开发过程中,指导开发活动的系统方法,简称OO(Object-Oriented)方法,是建立在“对象”概念基础上的方法学。对象是由数据和容许的操作组成的封装体,与客观实体有直接对应关系,一个对象类定义了具有相似性质的一组对象。而每继承性是对具有层次关系的类的属性和操作进行共享的一种方式。所谓面向对象就是基于对象概念,以对象为中心,以类和继承为构造机制,来认识、理解、刻画客观世界和设计、构建相应的软件系统面向对象思想起源于面向对象语言,伴随着面向对象编程语言的发展和流行,以其新型的独具优越的新方法成为当今软件开发的主流思想。统一建模语言(UML是UnifiedModelingLanguage的缩写)是用来对软件密集系统进行可视化建模的一种语言。UML为面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言。UML是当今软件行业的通用语言,由于其独特的思想和对以往软件开发经验教训的总结,同时结合当今流行的面向对象的开发思想,使其广泛的应用于软件行业中。从最初的1.0到现在的2.0,更贴近实际开发过程。1.2RUP迭代开发RUP(RationalUnifiedProcess,统一软件开发过程,统一软件过程)是一个面向对象且基于网络的程序开发方法论。根据Rational(RationalRose和统一建模语言的开发者)的说法,好像一个在线的指导者,它可以为所有方面和层次的程序开发提供指导方针,模版以及事例支持。RUP和类似的产品-例如面向对象的软件过程(OOSP),以及OPENProcess都是理解性的软件工程工具-把开发中面向过程的方面(例如定义的阶段,技术和实践)和其他开发的组件(例如文档,模型,手册以及代码等等)整合在一个统一的框架内。1.3套接字的发展Winsock是指WindowsSockets,是一个为MicrosoftWindows定义的网络编程规范。他源于UNIX中的Berkely套接字(Socket),使用WindowsSockets编制的应用程序,可以同其他基于WindowsSocketsAPI编制的应用程序通过网络进行通讯,并且在编制基于Winsock的应用程序时,不需要关心网络通信协议本身是如何工作的。Winsock2不仅继承了BerkelySockets的功能,而且还针对Windows作了扩展,Winsock还支持多种网络通讯协议,如:常见的TCP/IP(TransmissionControlProtocol/InternetProtocol)协议、XNS(XeroxNetworkSystem),DigitalEquipment公司的DECNet协议,Novell公司的IPX/SPX(InternetPacketExchange/SequencedPackedExchange)等。目前Winsock规范主要针对TCP/IP,但只要提供了实现Winsock的动态连接库,任何网络通讯协议都可以同Winsock兼容。1.4多线程技术进程是一个具有独立功能的程序关于某个数据集合的一次运行活动。它可以申请和拥有系统资源,是一个动态的概念,是一个活动的实体。线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。多线程是为了使得多个线程并行的工作以完成多项任务,以提高系统的效率。线程是在同一时间需要完成多项任务的时候被实现的。多线程的优点:使用线程可以把占据长时间的程序中的任务放到后台去处理,用户可以同时处理多件事情,不需等待执行提高了程序的运行速度。可以为每个线程设置优先级,以调整工作进度。1.5基于SOCKET的大批量文件传输系统的功能和特点本系统的设计与实现主要采用SOCKET编程。同时,使用多线程技术,提高服务器的响应能力和并发处理能力;采用动态哈夫曼编码实现传输流的压缩,减轻网络传输负担;支持断点续传,用户可以自己选择采用断点续传还是重新上传;实现大文件上传,一次可以上传多个文件;提供接口全面,可以动态设置上传保存路径,设置允许扩展名,允许最大大小等;可以限制上传单个文件大小,控制上传带宽上限,允许文件扩展名,拒绝文件扩展名等。1.6目的通过这次设计实践软件开发过程,运用RationalRose进行用例建模和分析设计加深对UML的认识,采用RUP迭代开发方法进行开发进一步熟悉面向对象思想。用Visualstudio2005集成开发环境和ServerSQL2000数据库进行开发实现;应用WinRuner进行单元测试和集成测试。同时采用MicrosoftProject画甘特图,对各阶度段进行跟踪,确保更个软件开发过程朝着计划方向稳定前进;保证按时高质的完成各项任务,顺利的完成课题的各项要求,提升自己各方面的能力。32可行性分析2.1编写目的首先,我们开发此系统当作一个产品而不只是看成一个设计,是为了方便用户传输文件,提高效率。为此,我们把它看做一个项目采用统一过程(R

温馨提示

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

评论

0/150

提交评论