基于UDP協(xié)議的網(wǎng)絡(luò)聊天工具設(shè)計(jì)

基于UDP協(xié)議的網(wǎng)絡(luò)聊天工具設(shè)計(jì)

ID:45579912

大?。?07.14 KB

頁(yè)數(shù):15頁(yè)

時(shí)間:2019-11-15

基于UDP協(xié)議的網(wǎng)絡(luò)聊天工具設(shè)計(jì)_第1頁(yè)
基于UDP協(xié)議的網(wǎng)絡(luò)聊天工具設(shè)計(jì)_第2頁(yè)
基于UDP協(xié)議的網(wǎng)絡(luò)聊天工具設(shè)計(jì)_第3頁(yè)
基于UDP協(xié)議的網(wǎng)絡(luò)聊天工具設(shè)計(jì)_第4頁(yè)
基于UDP協(xié)議的網(wǎng)絡(luò)聊天工具設(shè)計(jì)_第5頁(yè)
資源描述:

《基于UDP協(xié)議的網(wǎng)絡(luò)聊天工具設(shè)計(jì)》由會(huì)員上傳分享,免費(fèi)在線(xiàn)閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫(kù)。

1、摘要本課程設(shè)計(jì)是利用WinSock編程來(lái)實(shí)現(xiàn)基于UDP辦議的網(wǎng)絡(luò)聊天工具設(shè)計(jì),UDP(UserDatagramProtocol用戶(hù)數(shù)據(jù)報(bào)協(xié)議)協(xié)議是無(wú)連接的協(xié)議,是TCP/IP協(xié)議的一種分層協(xié)議。設(shè)計(jì)屮我們利用MFC編程,對(duì)程序的界面進(jìn)行設(shè)計(jì),通過(guò)設(shè)計(jì)進(jìn)一步掌握利用VisualC++進(jìn)行程序設(shè)計(jì)的能力理解和運(yùn)用而向?qū)﹀璩绦蛟O(shè)計(jì)的思想和方法,初步掌握開(kāi)發(fā)一個(gè)小型實(shí)用系統(tǒng)的基本方法,理解Windows程序的運(yùn)行過(guò)程以及掌握Winsocket編程方法。本設(shè)計(jì)實(shí)現(xiàn)的聊天工具要求有客戶(hù)端和服務(wù)器端??蛻?hù)端能實(shí)現(xiàn)消息的輸入和發(fā)送、接收消息、連接服務(wù)器與斷開(kāi)連接等基本功能;服務(wù)器端能收

2、發(fā)信息、保存客戶(hù)端的IP信息地址、將接收到的消息向所有客戶(hù)端傳發(fā)等基本信息。關(guān)鍵字:WinSock編程,UDP協(xié)議,TCP/IP協(xié)議,MFC編程,Windows程序目錄1設(shè)計(jì)目的與要求11.1設(shè)計(jì)目的11-2設(shè)計(jì)內(nèi)容11?3設(shè)計(jì)要求12設(shè)計(jì)環(huán)境或器材、原理與說(shuō)明32.1設(shè)計(jì)環(huán)境與器材32.2原理與說(shuō)明33設(shè)計(jì)過(guò)程及程序代碼43.1服務(wù)器端設(shè)計(jì)43.1.1服務(wù)器端程序流程設(shè)計(jì)43.1.2服務(wù)器端界面設(shè)計(jì)43.1.3服務(wù)器端套接字的具體操作53.1.4鏈表的維護(hù)以及消息的廣播63.1.5連接請(qǐng)求與斷開(kāi)連接63.2客戶(hù)端的設(shè)計(jì)63.2.1客戶(hù)器端程序流程設(shè)計(jì)63.2.2客戶(hù)端界

3、面設(shè)計(jì)73.2.3客戶(hù)端的功能實(shí)現(xiàn)84設(shè)計(jì)結(jié)果與分析104.1設(shè)計(jì)結(jié)果104.2設(shè)計(jì)分析115設(shè)計(jì)體會(huì)與建議12參考文獻(xiàn)13基于UDP協(xié)議的網(wǎng)絡(luò)聊天工具設(shè)計(jì)1設(shè)計(jì)目的與要求l.i設(shè)計(jì)目的1、進(jìn)一步掌握利用VisualC++進(jìn)行程序設(shè)計(jì)的能力;2、進(jìn)一步理解和運(yùn)用面向?qū)ο蟪绦蛟O(shè)計(jì)的思想和方法;3、初步掌握開(kāi)發(fā)一個(gè)小型實(shí)用系統(tǒng)的基木方法;4、學(xué)會(huì)調(diào)試一個(gè)較長(zhǎng)程序的基本方法;5、理解Windows程序的運(yùn)行過(guò)程;6、掌握winsocket編程方法。1.2設(shè)計(jì)內(nèi)容木實(shí)驗(yàn)設(shè)計(jì)內(nèi)容是:設(shè)計(jì)一個(gè)程序,實(shí)現(xiàn)聊天功能,要求有客戶(hù)端和服務(wù)器端。客戶(hù)端能實(shí)現(xiàn)消息的輸入和發(fā)送、接收消息、連接服務(wù)

4、器與斷開(kāi)連接等基本功能;服務(wù)器端要求能收發(fā)信息、保存客戶(hù)端的IP信息地址、將接收到的消息向所冇客戶(hù)端轉(zhuǎn)發(fā)等基本信息。1.3設(shè)計(jì)要求整個(gè)程序使用winsocket函數(shù)做網(wǎng)絡(luò)數(shù)據(jù)收發(fā),基于UDP協(xié)議。可以直接使用WindowsAPI編程(SDK編程),也可以使用MFC編程。本課程設(shè)計(jì)中我們使用的是MFC編程。其具體的設(shè)計(jì)要求如下所述:1、服務(wù)器端:在服務(wù)器端,當(dāng)服務(wù)器端程序運(yùn)行吋便初始化socket,創(chuàng)建服務(wù)器端,在服務(wù)器端包含一個(gè)發(fā)送窗口和一個(gè)接收窗口,以及一個(gè)ListBox來(lái)顯示當(dāng)前連接到服務(wù)器上的客戶(hù)端的IP地址。服務(wù)器端功能:1、初始化socket,創(chuàng)建服務(wù)器端。2、

5、接受用戶(hù)傳送來(lái)的連接判斷命令,并向用戶(hù)發(fā)岀響應(yīng)命令。3、維護(hù)一個(gè)鏈表,保存所有用戶(hù)的IP地址。顯示所冇在線(xiàn)IP。4、向鏈表中的所有用戶(hù)發(fā)送系統(tǒng)消息。5、接受用戶(hù)傳送來(lái)的聊犬信息,然后向鏈表中的所用用戶(hù)轉(zhuǎn)發(fā)。2、客戶(hù)端:客戶(hù)端界而,有一個(gè)用于顯示接受的聊天信息,和一個(gè)用來(lái)接受用戶(hù)輸入的聊天信息。當(dāng)按卜?“發(fā)送”按鈕時(shí)將信息發(fā)送給服務(wù)器。程序運(yùn)行后用戶(hù)先輸入門(mén)己呢稱(chēng)然后?進(jìn)行連接,如果成功則在接收窗口輸出成功捉示,否則彈出連接失敗警告框。在連接好Z后用戶(hù)也可以選擇與服務(wù)器斷開(kāi)。2設(shè)計(jì)環(huán)境或器材、原理與說(shuō)明2.1設(shè)計(jì)環(huán)境與器材因?yàn)檫x擇使用MFC編程,該程序又是網(wǎng)絡(luò)編程,所以設(shè)計(jì)

6、環(huán)境與器材為:?PC機(jī)兩到三臺(tái)(程序試運(yùn)行時(shí)需要多臺(tái)電腦充當(dāng)客戶(hù)端);?能正常連接的網(wǎng)卡;?Windows環(huán)境與MicrosoftVisualC~F+6.0編譯環(huán)境;2.2原理與說(shuō)明在計(jì)算機(jī)網(wǎng)絡(luò)屮,信息的傳輸是建立在物理傳輸介質(zhì)與網(wǎng)絡(luò)傳輸協(xié)議上的,TCP/IP協(xié)議是網(wǎng)絡(luò)協(xié)議的一種,它分為不同的層次:TCP(TransmissionControlProtocol傳輸控制協(xié)議),UDP(UserDatagramProtocol用戶(hù)數(shù)據(jù)報(bào)協(xié)議);IP(InternetProtocol網(wǎng)際協(xié)議);它們分別工作于傳輸層與網(wǎng)絡(luò)層。WindowSocket是Windows卜?的標(biāo)準(zhǔn)網(wǎng)絡(luò)

7、程序設(shè)計(jì)接口,它是由一些API函數(shù)組成,用以提供對(duì)網(wǎng)絡(luò)通信的支持。客戶(hù)端該程序設(shè)計(jì)使用WindowsSockets編程。在數(shù)據(jù)傳輸協(xié)議屮,我們使用UDP協(xié)議,UDPI?辦議是無(wú)連接的協(xié)議,在服務(wù)器端不調(diào)用listen函數(shù)進(jìn)行監(jiān)聽(tīng),也不調(diào)用accept函數(shù)建立連接,其操作流程圖如下圖所示:服務(wù)器端socket^!數(shù)建立倉(cāng)接字bind函數(shù)給套接字指定木地地址百send函數(shù)和reve兩數(shù)收發(fā)數(shù)據(jù)closesocket*]數(shù)關(guān)閉套接字socket^!數(shù)建立?接7*bind函數(shù)給倉(cāng)接字指定木地地址一匚send函數(shù)和reve函數(shù)收發(fā)數(shù)據(jù)c

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶(hù)上傳,版權(quán)歸屬用戶(hù),天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶(hù)請(qǐng)聯(lián)系客服處理。