畢業(yè)設(shè)計(jì)精品]基于SOCKET的大文件批量傳輸系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).doc_第1頁(yè)
畢業(yè)設(shè)計(jì)精品]基于SOCKET的大文件批量傳輸系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).doc_第2頁(yè)
畢業(yè)設(shè)計(jì)精品]基于SOCKET的大文件批量傳輸系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).doc_第3頁(yè)
畢業(yè)設(shè)計(jì)精品]基于SOCKET的大文件批量傳輸系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).doc_第4頁(yè)
畢業(yè)設(shè)計(jì)精品]基于SOCKET的大文件批量傳輸系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).doc_第5頁(yè)
已閱讀5頁(yè),還剩66頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

I基于SOCKET的大文件批量傳輸系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)摘要:Socket在英文中是插座的意思,它的設(shè)計(jì)者實(shí)際上是暗指電話插座。因?yàn)樵赟ocket環(huán)境下編程很像是模擬打電話,Internet的IP地址就是電話號(hào)碼,要打電話,需要電話插座,在程序中就是向系統(tǒng)申請(qǐng)一個(gè)Socket,以后兩臺(tái)機(jī)器上的程序“交談”都是通過(guò)這個(gè)Socket來(lái)進(jìn)行的。對(duì)程序員來(lái)說(shuō),也可以把Socket看成一個(gè)文件指針,只要向指針?biāo)傅奈募x寫(xiě)數(shù)據(jù),就可以實(shí)現(xiàn)雙向通信。利用Socket進(jìn)行通信,有兩種主要的方式。第一種是面向連接的流方式。顧名思義,在這種方式下,兩個(gè)通信的應(yīng)用程序之間先要建立一種連接鏈路,其過(guò)程好像在打電話。一臺(tái)計(jì)算機(jī)(電話)要想和另一臺(tái)計(jì)算機(jī)(電話)進(jìn)行數(shù)據(jù)傳輸(通話),必須首先獲得一條鏈路,只有確定了這條通路之后,數(shù)據(jù)通話)才能被正確接收和發(fā)送。這種方式對(duì)應(yīng)的是TCP(TransportControlProtocol)協(xié)議。第二種叫做無(wú)連接的數(shù)據(jù)報(bào)文方式,這時(shí)兩臺(tái)計(jì)算機(jī)像是把數(shù)據(jù)放在一個(gè)信封里,通過(guò)網(wǎng)絡(luò)寄給對(duì)方,信在傳送的過(guò)程中有可能會(huì)殘缺不全,而且后發(fā)出的信也有可能會(huì)先收到,它對(duì)應(yīng)的是UDP(UserDatagramProtocol)協(xié)議。流方式的特點(diǎn)是通信可靠,對(duì)數(shù)據(jù)有校驗(yàn)和重發(fā)的機(jī)制,通常用來(lái)做數(shù)據(jù)文件的傳輸。網(wǎng)絡(luò)的快速發(fā)展和普及,文件傳輸愈來(lái)愈頻繁,傳輸文件容量越來(lái)越大,單純的套接字傳輸不能滿足需求。WindowSocket編程和多線程技術(shù)結(jié)合可以很好的解決這一問(wèn)題,使得文件傳輸效率大大提高能很好的支持大文件、批量傳輸,提高服務(wù)器的響應(yīng)能力和并發(fā)處理能力。WindowSocket采用字節(jié)流的方式傳輸數(shù)據(jù),可以很好的保證傳輸?shù)姆€(wěn)定性和安全性;而采用動(dòng)態(tài)哈夫曼編碼實(shí)現(xiàn)傳輸流的壓縮,減輕網(wǎng)絡(luò)傳輸負(fù)擔(dān),提高網(wǎng)絡(luò)性能滿足用戶的需求。關(guān)鍵字: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面向?qū)ο笏枷牒蚒ML.11.2RUP迭代開(kāi)發(fā).11.3套接字的發(fā)展.11.4多線程技術(shù).21.5基于SOCKET的大批量文件傳輸系統(tǒng)的功能和特點(diǎn).21.6目的.22可行性分析.32.1編寫(xiě)目的.32.2建議系統(tǒng)可行性分析.42.3經(jīng)濟(jì)可行性分析.53.系統(tǒng)設(shè)計(jì)與分析.63.1概念的定義.63.2設(shè)計(jì)人員.93.3需求分析.93.4系統(tǒng)總體設(shè)計(jì).203.5系統(tǒng)詳細(xì)設(shè)計(jì).223.6數(shù)據(jù)庫(kù)理論技術(shù).463.7數(shù)據(jù)庫(kù)設(shè)計(jì)說(shuō)明.494.應(yīng)用系統(tǒng)實(shí)現(xiàn).514.1應(yīng)用系統(tǒng)開(kāi)發(fā)工具.514.2C/S模型的實(shí)現(xiàn).534.3主要功能實(shí)現(xiàn).545.軟件測(cè)試.575.1測(cè)試概要.575.2測(cè)試計(jì)劃.575.3測(cè)試總結(jié).596.安裝部署.606.1簡(jiǎn)介.606.2系統(tǒng)環(huán)境.606.3應(yīng)用程序安裝部署.606.4部署SQL數(shù)據(jù)庫(kù).627.總結(jié).638.致謝語(yǔ).649.參考文獻(xiàn).6511.緒論1.1面向?qū)ο笏枷牒蚒ML面向?qū)ο蠓椒?Object-OrientedMethod)是一種把面向?qū)ο蟮乃枷霊?yīng)用于軟件開(kāi)發(fā)過(guò)程中,指導(dǎo)開(kāi)發(fā)活動(dòng)的系統(tǒng)方法,簡(jiǎn)稱OO(Object-Oriented)方法,是建立在“對(duì)象”概念基礎(chǔ)上的方法學(xué)。對(duì)象是由數(shù)據(jù)和容許的操作組成的封裝體,與客觀實(shí)體有直接對(duì)應(yīng)關(guān)系,一個(gè)對(duì)象類定義了具有相似性質(zhì)的一組對(duì)象。而每繼承性是對(duì)具有層次關(guān)系的類的屬性和操作進(jìn)行共享的一種方式。所謂面向?qū)ο缶褪腔趯?duì)象概念,以對(duì)象為中心,以類和繼承為構(gòu)造機(jī)制,來(lái)認(rèn)識(shí)、理解、刻畫(huà)客觀世界和設(shè)計(jì)、構(gòu)建相應(yīng)的軟件系統(tǒng)面向?qū)ο笏枷肫鹪从诿嫦驅(qū)ο笳Z(yǔ)言,伴隨著面向?qū)ο缶幊陶Z(yǔ)言的發(fā)展和流行,以其新型的獨(dú)具優(yōu)越的新方法成為當(dāng)今軟件開(kāi)發(fā)的主流思想。統(tǒng)一建模語(yǔ)言(UML是UnifiedModelingLanguage的縮寫(xiě))是用來(lái)對(duì)軟件密集系統(tǒng)進(jìn)行可視化建模的一種語(yǔ)言。UML為面向?qū)ο箝_(kāi)發(fā)系統(tǒng)的產(chǎn)品進(jìn)行說(shuō)明、可視化、和編制文檔的一種標(biāo)準(zhǔn)語(yǔ)言。UML是當(dāng)今軟件行業(yè)的通用語(yǔ)言,由于其獨(dú)特的思想和對(duì)以往軟件開(kāi)發(fā)經(jīng)驗(yàn)教訓(xùn)的總結(jié),同時(shí)結(jié)合當(dāng)今流行的面向?qū)ο蟮拈_(kāi)發(fā)思想,使其廣泛的應(yīng)用于軟件行業(yè)中。從最初的1.0到現(xiàn)在的2.0,更貼近實(shí)際開(kāi)發(fā)過(guò)程。1.2RUP迭代開(kāi)發(fā)RUP(RationalUnifiedProcess,統(tǒng)一軟件開(kāi)發(fā)過(guò)程,統(tǒng)一軟件過(guò)程)是一個(gè)面向?qū)ο笄一诰W(wǎng)絡(luò)的程序開(kāi)發(fā)方法論。根據(jù)Rational(RationalRose和統(tǒng)一建模語(yǔ)言的開(kāi)發(fā)者)的說(shuō)法,好像一個(gè)在線的指導(dǎo)者,它可以為所有方面和層次的程序開(kāi)發(fā)提供指導(dǎo)方針,模版以及事例支持。RUP和類似的產(chǎn)品-例如面向?qū)ο蟮能浖^(guò)程(OOSP),以及OPENProcess都是理解性的軟件工程工具-把開(kāi)發(fā)中面向過(guò)程的方面(例如定義的階段,技術(shù)和實(shí)踐)和其他開(kāi)發(fā)的組件(例如文檔,模型,手冊(cè)以及代碼等等)整合在一個(gè)統(tǒng)一的框架內(nèi)。1.3套接字的發(fā)展Winsock是指WindowsSockets,是一個(gè)為MicrosoftWindows定義的網(wǎng)絡(luò)編程規(guī)范。他源于UNIX中的Berkely套接字(Socket),使用WindowsSockets編制的應(yīng)用程序,可以同其他基于WindowsSocketsAPI編制的應(yīng)用程序通過(guò)網(wǎng)絡(luò)進(jìn)行通訊,并且在編制基于Winsock的應(yīng)用程序時(shí),不需要關(guān)心網(wǎng)絡(luò)通信協(xié)議本身是如何工作的。Winsock2不僅繼承了BerkelySockets的功能,而且還針對(duì)Windows作了擴(kuò)展,Winsock還支持多種網(wǎng)絡(luò)通訊協(xié)議,如:常見(jiàn)的TCP/IP(TransmissionControlProtocol/InternetProtocol)協(xié)議、XNS(XeroxNetworkSystem),DigitalEquipment公司的DECNet協(xié)議,Novell公司的IPX/SPX(InternetPacketExchange/SequencedPackedExchange)等。目前Winsock規(guī)范主要針對(duì)TCP/IP,但只要提供了實(shí)現(xiàn)Winsock的動(dòng)態(tài)連接庫(kù),任何網(wǎng)絡(luò)通訊協(xié)議都可以同Winsock兼容。1.4多線程技術(shù)進(jìn)程是一個(gè)具有獨(dú)立功能的程序關(guān)于某個(gè)數(shù)據(jù)集合的一次運(yùn)行活動(dòng)。它可以申請(qǐng)和擁有系統(tǒng)資源,是一個(gè)動(dòng)態(tài)的概念,是一個(gè)活動(dòng)的實(shí)體。線程是進(jìn)程中的一個(gè)實(shí)體,是被系統(tǒng)獨(dú)立調(diào)度和分派的基本單位,線程自己不擁有系統(tǒng)資源,只擁有一點(diǎn)在運(yùn)行中必不可少的資源,但它可與同屬一個(gè)進(jìn)程的其它線程共享進(jìn)程所擁有的全部資源。多線程是為了使得多個(gè)線程并行的工作以完成多項(xiàng)任務(wù),以提高系統(tǒng)的效率。線程是在同一時(shí)間需要完成多項(xiàng)任務(wù)的時(shí)候被實(shí)現(xiàn)的。多線程的優(yōu)點(diǎn):使用線程可以把占據(jù)長(zhǎng)時(shí)間的程序中的任務(wù)放到后臺(tái)去處理,用戶可以同時(shí)處理多件事情,不需等待執(zhí)行提高了程序的運(yùn)行速度??梢詾槊總€(gè)線程設(shè)置優(yōu)先級(jí),以調(diào)整工作進(jìn)度。1.5基于SOCKET的大批量文件傳輸系統(tǒng)的功能和特點(diǎn)本系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)主要采用SOCKET編程。同時(shí),使用多線程技術(shù),提高服務(wù)器的響應(yīng)能力和并發(fā)處理能力;采用動(dòng)態(tài)哈夫曼編碼實(shí)現(xiàn)傳輸流的壓縮,減輕網(wǎng)絡(luò)傳輸負(fù)擔(dān);支持?jǐn)帱c(diǎn)續(xù)傳,用戶可以自己選擇采用斷點(diǎn)續(xù)傳還是重新上傳;實(shí)現(xiàn)大文件上傳,一次可以上傳多個(gè)文件;提供接口全面,可以動(dòng)態(tài)設(shè)置上傳保存路徑,設(shè)置允許擴(kuò)展名,允許最大大小等;可以限制上傳單個(gè)文件大小,控制上傳帶寬上限,允許文件擴(kuò)展名,拒絕文件擴(kuò)展名等。1.6目的通過(guò)這次設(shè)計(jì)實(shí)踐軟件開(kāi)發(fā)過(guò)程,運(yùn)用RationalRose進(jìn)行用例建模和分析設(shè)計(jì)加深對(duì)UML的認(rèn)識(shí),采用RUP迭代開(kāi)發(fā)方法進(jìn)行開(kāi)發(fā)進(jìn)一步熟悉面向?qū)ο笏枷?。用Visualstudio2005集成開(kāi)發(fā)環(huán)境和ServerSQL2000數(shù)據(jù)庫(kù)進(jìn)行開(kāi)發(fā)實(shí)現(xiàn);應(yīng)用WinRuner進(jìn)行單元測(cè)試和集成測(cè)試。同時(shí)采用MicrosoftProject畫(huà)甘特圖,對(duì)各階度段進(jìn)行跟蹤,確保更個(gè)軟件開(kāi)發(fā)過(guò)程朝著計(jì)劃方向穩(wěn)定前進(jìn);保證按時(shí)高質(zhì)的完成各項(xiàng)任務(wù),順利的完成課題的各項(xiàng)要求,提升自己各方面的能力。32可行性分析2.1編寫(xiě)目的首先,我們開(kāi)發(fā)此系統(tǒng)當(dāng)作一個(gè)產(chǎn)品而不只是看成一個(gè)設(shè)計(jì),是為了方便用戶傳輸文件,提高效率。為此,我們把它看做一個(gè)項(xiàng)目采用統(tǒng)一過(guò)程(R

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論