資源描述:
《課程設(shè)計報告-基于udp協(xié)議的網(wǎng)絡(luò)聊天程序設(shè)計與實現(xiàn)(整理版)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、處您后an匕工常覲BeijingInstituteofPetrochemicalTechnology《計算機網(wǎng)絡(luò)編程》綜合程序設(shè)計項目基于UDP協(xié)議的網(wǎng)絡(luò)聊天程序設(shè)計院(系、部):信息工程學(xué)院姓名:班級:指彌磁名:2011年4月16日?北京1需求分析21.1課程設(shè)計目的21.2課程設(shè)計內(nèi)容21.3課程設(shè)計要求22概要設(shè)計22.1原理概述22?2功能模塊調(diào)用流程設(shè)計33詳細設(shè)計43.1流程圖43.2運行效果圖53.3主要源代碼124項目分析與總結(jié)174.1遇到的問題和解決方法174.2心得體會181、需求分析1.1課程設(shè)計目的開發(fā)一個專用于實現(xiàn)兩臺計算機Z間即時通訊的軟
2、件,以方便兩臺計算機Z間信息的交流。,在連接并通信時,尤其是近程的即時通訊,徹底的脫離了遠程的服務(wù)器,避免了和遠程服務(wù)器連接時過多的浪費網(wǎng)絡(luò)資源。并且避免了服務(wù)器忙或與服務(wù)器無法連接時,浪費過多吋間用于和服務(wù)器建立連接!因此,這個軟件是極具適應(yīng)性和實用性的即吋通訊軟件!木次課程設(shè)計的n的是學(xué)習(xí)基于udp協(xié)議實現(xiàn)網(wǎng)絡(luò)聊天程序,已達到學(xué)會面向無連接方式的程設(shè)計方法,并理解網(wǎng)絡(luò)編程中面向無連接的概念。1.2課程設(shè)計的內(nèi)容用戶數(shù)據(jù)報(UDP)是一個無連接協(xié)議,使用這種協(xié)議時,并不需要在兩臺計算機之間建立固定的連接,也就是說,通信雙方?jīng)]有服務(wù)器和客戶機Z分,它們Z間進行的是對等
3、通信,所以它的優(yōu)勢很明顯,是現(xiàn)代通信不可或缺的一部分。所以,利用它的優(yōu)勢設(shè)計一個可以實現(xiàn)私聊和群聊的軟件,實現(xiàn)兩臺計算機間的即時通訊。1.3課程設(shè)計耍求基于UDP協(xié)議實現(xiàn)一對一的聊天和一對多的聊天,提供友好的用戶界面,便于用戶進行操作。根據(jù)目前使川聊犬程序的川戶需求顯示,川戶對于聊犬程序主要有以卜?兒點要求:(1)聊天功能:可以實現(xiàn)實時接收和發(fā)送文字信息,并能支持公聊和私聊的方式。(2)用戶功能:可以查看對方的開放信息,以及發(fā)送方的IP。2概要設(shè)計2.1原理概述采用UDP協(xié)議,通過服務(wù)器中轉(zhuǎn)方式。因此,現(xiàn)在的IP偵探在你僅僅跟對方發(fā)送聊天消息的時候是無法獲取到IP的。
4、UDP協(xié)議是不可靠協(xié)議,它只管發(fā)送,不管對方是否收到。但它的傳輸很高效,因為UDP協(xié)議排除了信息可靠傳遞機制,將安全和排序等功能移交給上層應(yīng)用來完成,極大降低了執(zhí)行時間,使速度得到了保證。例如,騰訊采用了上層協(xié)議來保證可靠傳輸:如果客戶端使用UDP協(xié)議發(fā)出消息示,服務(wù)器收到該包,需要使用UDP協(xié)議發(fā)冋一個應(yīng)答包。如此來保證消息可以無遺漏傳輸。2?2功能模塊調(diào)用流程設(shè)計:Socket^Bind()Socket^)*Bind()雙向通信ReceiveFrom()/SendToO—ShutdownOReceiveProm()/SendToO歸Shutdown。Close()
5、3.2界面設(shè)計與運行效果圖://界面設(shè)計//測試程序:初始化界面,組播地址為224.100.0.1,端口號為65530//測試程序:點擊開始聊天,組播地址為224.100.0.1,端口號為6553,開始群聊。//測試程序:界面顯示群聊接收發(fā)消息。//測試程序:選擇在線的私聊對象。//測試程序:輸入對方IP地址,進行固定的私聊。chat口回岡參數(shù)對方工P210.31?40.246氓口號6553組播地址224.100.0.1
6、一S賄聊
7、斷開
8、接收發(fā)消息a來自210.31.40.246:2117:吃了嗎您呢*???來自210.31.40.180:3783:吃了來自210.3
9、1.40.246:2118:吃什么了來自210.31.40.191:1818:我也吃了豊?輻入信息私聊對象210.31.40.180210.31.40.113//測試程序:不正確的情況——端口號為空時。//測試程序:不正確的情況——超出端口號范圍時。//測試程序:不正確的情況——端口號不合法時。//測試程序:以上情況均不能正確發(fā)送信息。//測試程序:不正確的情況——組播地址非法時。〃測試程序:不正確的情況——發(fā)送的輸入信息為空?!y試程序:點擊清屏按鈕接收發(fā)消息框清空?!娔X桌面程序欄中托盤圖標(biāo)2.3主耍源代碼:namespacechat{publicpartialc
10、lasschat:Form{privatestaticIPAddressm_GroupAddress;privateboolisExit=false;privateboolisShow=true;privateboolm_bFlag;NotifylconmyNotifylcon;//委托類doIcgatedelegatevoidAppendStringCallback(stringtext);AppendStringCal1backappendStringCallback;privatestaticUdpClientudpClient;private