服务器与客户端的文件传输报告,网络文件传输设计报告.doc
網(wǎng)絡(luò)文件傳輸設(shè)計(jì)報告
合肥學(xué)院
計(jì)算機(jī)科學(xué)與技術(shù)系
課程設(shè)計(jì)報告
2011~2012學(xué)年第一學(xué)期
課程Java語言程序設(shè)計(jì)課程設(shè)計(jì)名稱網(wǎng)絡(luò)文件傳輸系統(tǒng)專業(yè)班級08網(wǎng)絡(luò)工程(1)班姓名王陽光指導(dǎo)教師金瑩、郭昌建
2011年9月
需求分析
根據(jù)用戶需求,本系統(tǒng)可以分為兩個子系統(tǒng):1、局域網(wǎng)內(nèi)簡單文字的聊天子系統(tǒng),它是在局域網(wǎng)內(nèi)選擇相應(yīng)的用戶,以便對之發(fā)送文字信息;2、局域網(wǎng)內(nèi)文件、文件夾傳輸系統(tǒng),它是在源主機(jī)端先把需要傳輸?shù)奈募⑽募A轉(zhuǎn)換成相應(yīng)的數(shù)據(jù)流進(jìn)行傳輸,到了目的主機(jī)端再由之進(jìn)行還原。本系統(tǒng)的文字聊天系統(tǒng)實(shí)現(xiàn)的功能類似于QQ用戶之間的聊天。在設(shè)計(jì)系統(tǒng)時,應(yīng)根據(jù)簡潔、流暢的特點(diǎn)安排布局,在編制程序時應(yīng)充分考慮到網(wǎng)絡(luò)傳輸?shù)姆€(wěn)定、快捷,真正做到“簡潔、高效、流暢、安全”的使用環(huán)境。用戶使用的過程為:先是用戶登錄啟動本系統(tǒng),系統(tǒng)自動檢索局域網(wǎng)內(nèi)的其它用戶,并添加到自己的用戶列表中,供用戶選擇。當(dāng)用戶需要連接到某個用戶時,在用戶列表中選中該用戶,即可發(fā)送消息或者文件、文件夾。接收方可以選擇接收或者拒絕接受相應(yīng)傳輸?shù)奈募蛘呶募A。當(dāng)用戶退出本系統(tǒng)前,系統(tǒng)將通知局域網(wǎng)內(nèi)的其它用戶,其它用戶在收到用戶下線通知后,將會自動刪除用戶列表中該用戶的信息。
二、 設(shè)計(jì)
1.設(shè)計(jì)思想
1)局域網(wǎng)用戶列表的建立。用戶主機(jī)啟動本系統(tǒng)時,使用UDP協(xié)議向這個多播地址發(fā)送多播數(shù)據(jù)包,默認(rèn)端口是3608。多播數(shù)據(jù)包內(nèi)容包含用戶名、主機(jī)名、IP地址、登錄名、優(yōu)先級的用戶信息;已啟動本系統(tǒng)的用戶通過3608端口收到此多播數(shù)據(jù)包后,就會在自己的用戶列表中添加這個用戶的用戶名、IP地址等信息,同時向?qū)Ψ絀P發(fā)送本機(jī)用戶的個人信息;從而雙方都能建立起用戶列表;
2)刷新用戶列表時發(fā)送的多播數(shù)據(jù)包和啟動的一樣,只是在發(fā)送數(shù)據(jù)包前,將本機(jī)的用戶列表清空, 重新建立新的用戶列表。
3)傳送聊天信息時同樣使用UDP協(xié)議。由于UDP協(xié)議是無連接協(xié)議,傳輸速度快,但是沒有確認(rèn)機(jī)制,是不可靠的協(xié)議,需要自己定義返回信息的標(biāo)志來判斷對方是否收到信息。
4)用戶離線時發(fā)送一個離線多播數(shù)據(jù)包到,收到此多播包的用戶,根據(jù)包中的IP地址刪除對方的用戶列表信息。
5)傳送文件和文件夾是使用TCP協(xié)議,端口3608。TCP是一種面向連接的服務(wù),在文件傳輸時會先行建立連接,通過鏈接提供雙向、有序且無重復(fù)的數(shù)據(jù)流服務(wù)、以及流量控制、差錯檢測和糾錯等服務(wù),從而確保文件傳輸?shù)恼_性。
2.功能設(shè)計(jì)
在C/S體系結(jié)構(gòu)下,設(shè)計(jì)局域網(wǎng)文件傳送的網(wǎng)絡(luò)傳輸軟件。功能包括局域網(wǎng)文件傳送和局域網(wǎng)簡單文字聊天,可以同時對多個用戶發(fā)送文件,以及傳送文件功能不分目錄與文件,均統(tǒng)一傳送,讓用戶使用起來更方便。
1) C/S(Client/Server)結(jié)構(gòu),即客戶機(jī)和服務(wù)器結(jié)構(gòu)。它是軟件系統(tǒng)體系結(jié)構(gòu),通過它可以充分利用兩端硬件環(huán)境的優(yōu)勢,將任務(wù)合理的分配到Client端和Server端來實(shí)現(xiàn),降低了系統(tǒng)的通訊開銷。Client和Server常常分別處在相距很遠(yuǎn)的兩臺計(jì)算機(jī)上,Client程序的任務(wù)是將用戶的要求提交給Server程序,再將Server程序返回的結(jié)果以特定的形式顯示給用戶;Server程序的任務(wù)是接受Client程序提出的服務(wù)請求,進(jìn)行相應(yīng)的處理,再將結(jié)果返回給Client程序。
圖2.1 C/S結(jié)構(gòu)
2)Java的網(wǎng)絡(luò)編程
Java程序通過.Socket和.ServerSocket在兩臺主機(jī)之間建立I/O數(shù)據(jù)連接流,文件以字節(jié)流的形式從一臺主機(jī)傳送到另一臺主機(jī)。
在TCP/IP參考模型中,應(yīng)用程序處在應(yīng)用層,應(yīng)用層下面分別是傳輸層、網(wǎng)絡(luò)互連層、主機(jī)-網(wǎng)絡(luò)層。傳輸層的功能是使源主機(jī)和目標(biāo)主機(jī)上的進(jìn)程可以進(jìn)行對話。在傳輸層定義了兩種服務(wù)質(zhì)量不同的協(xié)議,即TCP(Transmission Control Protocol,傳輸控制協(xié)議)和UDP(User Datagram Protocol,用戶數(shù)據(jù)包協(xié)議)。TCP協(xié)議是一種面向連接的、可靠的協(xié)議,主要適用于需要保證數(shù)據(jù)準(zhǔn)確性的場合。UDP協(xié)議是一個不可靠的、無連接協(xié)議,主要適用于不需要對報文進(jìn)行排序和流量控制的場合。.Socket與.ServerSocket建立在TCP協(xié)議的基礎(chǔ)上,可靠性好,可用來傳送文件。.DatagramSocket與.DatagramPacket是建立在UDP協(xié)議的基礎(chǔ)上,可用來在局域網(wǎng)中廣播本地主機(jī)的IP地址。
3)Java的多線程
Java程序通過java.lang.Thread和java.lang.Runnable來實(shí)現(xiàn)程序的多線程。Java 虛擬機(jī)允許應(yīng)用程序并發(fā)地運(yùn)行多個執(zhí)行線程。服務(wù)器端創(chuàng)建多個服務(wù)線程,便可以同時接受多個來自客戶端的請求,并給予回應(yīng)。從而實(shí)現(xiàn)同時向多個用戶傳送文件的功能。
4) Java的異常控制
總結(jié)
以上是生活随笔為你收集整理的服务器与客户端的文件传输报告,网络文件传输设计报告.doc的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: www服务器把信息组织成,管理信息系统第
- 下一篇: ajax正则验证p标签显示,JQuery