資源描述:
《計(jì)算機(jī)網(wǎng)絡(luò)課程設(shè)計(jì):基于udp協(xié)議的聊天程序設(shè)計(jì)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。
1、編號(hào):計(jì)算機(jī)網(wǎng)絡(luò)課程設(shè)計(jì)題目:基于UDP的聊天程序系別:計(jì)算機(jī)科學(xué)與工程學(xué)院摘要隨著網(wǎng)絡(luò)技術(shù)的發(fā)展及人們生活的需求,網(wǎng)絡(luò)聊天已越來越受到人們的青睞。網(wǎng)絡(luò)聊天已經(jīng)成為人們工作生活中傳遞信息、交流感情的重要工具,給人們帶來了很大的方便。本課題是開發(fā)一個(gè)基于UDP的局域網(wǎng)聊天系統(tǒng),運(yùn)用軟件工程的設(shè)計(jì)流程,綜合運(yùn)用數(shù)據(jù)庫編程技術(shù)、Windows程序設(shè)計(jì)技術(shù)、網(wǎng)絡(luò)通訊技術(shù),此網(wǎng)絡(luò)聊天工具采用客戶端/服務(wù)器(C/S)模式,客戶端采用UDP與服務(wù)器連接,客戶端與客戶端之間通過UDP互相通訊。服務(wù)器端具有服務(wù)器端口設(shè)置,此聊天工具能實(shí)現(xiàn)多人聊天功能,適用于局域網(wǎng)使用的網(wǎng)絡(luò)聊天工具,其操作簡(jiǎn)單,靈
2、活性好,運(yùn)行也比較穩(wěn)定。關(guān)鍵詞:網(wǎng)絡(luò)通訊;客戶端/服務(wù)器模型;用戶數(shù)據(jù)報(bào)協(xié)議;套接字一、需求分析1.1課程設(shè)計(jì)目的開發(fā)一個(gè)專用于實(shí)現(xiàn)兩臺(tái)計(jì)算機(jī)之間即時(shí)通訊的軟件以方便兩臺(tái)計(jì)算機(jī)之間信息的交流。在連接并通信時(shí)尤其是近程的即時(shí)通訊徹底的脫離了遠(yuǎn)程的服務(wù)器避免了和遠(yuǎn)程服務(wù)器連接時(shí)過多的浪費(fèi)網(wǎng)絡(luò)資源。并且避免了服務(wù)器忙或與服務(wù)器無法連接時(shí)浪費(fèi)過多時(shí)間用于和服務(wù)器建立連接因此這個(gè)軟件是極具適應(yīng)性和實(shí)用性的即時(shí)通訊軟件本次課程設(shè)計(jì)的目的是學(xué)習(xí)基于UDP協(xié)議實(shí)現(xiàn)網(wǎng)絡(luò)聊天程序已達(dá)到學(xué)會(huì)面向無連接方式的程序設(shè)計(jì)方法并理解網(wǎng)絡(luò)編程中面向無連接的概念。1.2課程設(shè)計(jì)的內(nèi)容用戶數(shù)據(jù)報(bào)
3、UDP是一個(gè)無連接協(xié)議使用這種協(xié)議時(shí)并不需要在兩臺(tái)計(jì)算機(jī)之間建立固定的連接也就是說通信雙方?jīng)]有服務(wù)器和客戶機(jī)之分它們之間進(jìn)行的是對(duì)等通信所以它的優(yōu)勢(shì)很明顯是現(xiàn)代通信不可或缺的一部分。所以利用它的優(yōu)勢(shì)設(shè)計(jì)一個(gè)可以聊天的軟件實(shí)現(xiàn)兩臺(tái)計(jì)算機(jī)間的即時(shí)通訊。1.3課程設(shè)計(jì)要求基于UDP協(xié)議實(shí)現(xiàn)的聊天和一對(duì)多的聊天提供友好的用戶界面便于用戶進(jìn)行操作。二.UDP協(xié)議的理解:-29-一、需求分析1.1課程設(shè)計(jì)目的開發(fā)一個(gè)專用于實(shí)現(xiàn)兩臺(tái)計(jì)算機(jī)之間即時(shí)通訊的軟件以方便兩臺(tái)計(jì)算機(jī)之間信息的交流。在連接并通信時(shí)尤其是近程的即時(shí)通訊徹底的脫離了遠(yuǎn)程的服務(wù)器避免了和遠(yuǎn)程服
4、務(wù)器連接時(shí)過多的浪費(fèi)網(wǎng)絡(luò)資源。并且避免了服務(wù)器忙或與服務(wù)器無法連接時(shí)浪費(fèi)過多時(shí)間用于和服務(wù)器建立連接因此這個(gè)軟件是極具適應(yīng)性和實(shí)用性的即時(shí)通訊軟件本次課程設(shè)計(jì)的目的是學(xué)習(xí)基于UDP協(xié)議實(shí)現(xiàn)網(wǎng)絡(luò)聊天程序已達(dá)到學(xué)會(huì)面向無連接方式的程序設(shè)計(jì)方法并理解網(wǎng)絡(luò)編程中面向無連接的概念。1.2課程設(shè)計(jì)的內(nèi)容用戶數(shù)據(jù)報(bào)UDP是一個(gè)無連接協(xié)議使用這種協(xié)議時(shí)并不需要在兩臺(tái)計(jì)算機(jī)之間建立固定的連接也就是說通信雙方?jīng)]有服務(wù)器和客戶機(jī)之分它們之間進(jìn)行的是對(duì)等通信所以它的優(yōu)勢(shì)很明顯是現(xiàn)代通信不可或缺的一部分。所以利用它的優(yōu)勢(shì)設(shè)計(jì)一個(gè)可以聊天的軟件實(shí)現(xiàn)兩臺(tái)計(jì)算機(jī)間的即時(shí)通訊。1.
5、3課程設(shè)計(jì)要求基于UDP協(xié)議實(shí)現(xiàn)的聊天和一對(duì)多的聊天提供友好的用戶界面便于用戶進(jìn)行操作。二.UDP協(xié)議的理解:-29-UDP協(xié)議是英文UserDatagramProtocol的縮寫,即用戶數(shù)據(jù)報(bào)協(xié)議,主要用來支持那些需要在計(jì)算機(jī)之間傳輸數(shù)據(jù)的網(wǎng)絡(luò)應(yīng)用。包括網(wǎng)絡(luò)視頻會(huì)議系統(tǒng)在內(nèi)的眾多的客戶/服務(wù)器模式的網(wǎng)絡(luò)應(yīng)用都需要使用UDP協(xié)議。UDP協(xié)議從問世至今已經(jīng)被使用了很多年,雖然其最初的光彩已經(jīng)被一些類似協(xié)議所掩蓋,但是即使是在今天,UDP仍然不失為一項(xiàng)非常實(shí)用和可行的網(wǎng)絡(luò)傳輸層協(xié)議。UDP協(xié)議直接位于IP(網(wǎng)際協(xié)議)協(xié)議的頂層。UDP協(xié)議的主要作用是將網(wǎng)絡(luò)數(shù)據(jù)流量壓縮成數(shù)據(jù)報(bào)的形
6、式。一個(gè)典型的數(shù)據(jù)報(bào)就是一個(gè)二進(jìn)制數(shù)據(jù)的傳輸單位。每一個(gè)數(shù)據(jù)報(bào)的前8個(gè)字節(jié)用來包含報(bào)頭信息,剩余字節(jié)則用來包含具體的傳輸數(shù)據(jù)。UDP協(xié)議使用端口號(hào)為不同的應(yīng)用保留其各自的數(shù)據(jù)傳輸通道。正是采用這一機(jī)制實(shí)現(xiàn)對(duì)同一時(shí)刻內(nèi)多項(xiàng)應(yīng)用同時(shí)發(fā)送和接收數(shù)據(jù)的支持。數(shù)據(jù)發(fā)送一方(可以是客戶端或服務(wù)器端)將UDP數(shù)據(jù)報(bào)通過源端口發(fā)送出去,而數(shù)據(jù)接收一方則通過目標(biāo)端口接收數(shù)據(jù)。有的網(wǎng)絡(luò)應(yīng)用只能使用預(yù)先為其預(yù)留或注冊(cè)的靜態(tài)端口;而另外一些網(wǎng)絡(luò)應(yīng)用則可以使用未被注冊(cè)的動(dòng)態(tài)端口。因?yàn)閁DP報(bào)頭使用兩個(gè)字節(jié)存放端口號(hào),所以端口號(hào)的有效范圍是從0到65535。一般來說,大于49151的端口號(hào)都代表動(dòng)態(tài)端口。數(shù)
7、據(jù)報(bào)的長(zhǎng)度是指包括報(bào)頭和數(shù)據(jù)部分在內(nèi)的總的字節(jié)數(shù)。因?yàn)閳?bào)頭的長(zhǎng)度是固定的,所以該域主要被用來計(jì)算可變長(zhǎng)度的數(shù)據(jù)部分(又稱為數(shù)據(jù)負(fù)載)。數(shù)據(jù)報(bào)的最大長(zhǎng)度根據(jù)操作環(huán)境的不同而各異。從理論上說,包含報(bào)頭在內(nèi)的數(shù)據(jù)報(bào)的最大長(zhǎng)度為65535字節(jié)。不過,一些實(shí)際應(yīng)用往往會(huì)限制數(shù)據(jù)報(bào)的大小,有時(shí)會(huì)降低到8192字節(jié)。UDP協(xié)議使用報(bào)頭中的校驗(yàn)值來保證數(shù)據(jù)的安全。校驗(yàn)值首先在數(shù)據(jù)發(fā)送方通過特殊的算法計(jì)算得出,在傳遞到接收方之后,還需要再重新計(jì)算。如果某個(gè)數(shù)據(jù)報(bào)在傳輸過程中被第三方篡改或者由于線路