freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于udp協(xié)議的聊天工具的設計_研究生課程論文(已修改)

2025-09-05 14:11 本頁面
 

【正文】 研究生課程論文 課程名 稱 面向?qū)ο蟪绦蛟O計 VC++ 學 院 電子工程學院 專 業(yè) 電子與通信工程 1 基于 UDP 協(xié)議的聊天工具的設計 第一章 需求分析 功能需求 ① 用戶之間能夠通過輸入 IP 地址建立連接 ② 用戶能夠輸入所需發(fā)送的信息,并能夠在界面上發(fā)看到輸入的信息 ③ 用戶之間可以相互通信 應用平臺需求 安裝有 VS2020 的操作系統(tǒng),能夠正常運行 EXE 文 件。 界面的設計需求 本程序利用 UDP 協(xié)議來進行通信,因此可以簡單地將發(fā)送端和接收端集成在同一個對話框界面上,并可以通過利用多線程技術以保證接受信息功能的順暢。 簡單流程圖 圖 11 建立連接 聊天(發(fā)送、接受信息) 結 束 2 第二章 概要設計 程序總體結構圖 發(fā)送端 接收端 圖 21 發(fā)送 端 流程 圖 22 創(chuàng)建套接字 創(chuàng)建接收線程 實現(xiàn)線程函數(shù) 接受消息 消息轉(zhuǎn)換 輸入消息 顯示消息 發(fā)送消息 創(chuàng)建套接字 Bind 綁定 創(chuàng)建套接字 輸入消息 顯示消息 發(fā)送消息 3 接收 端 流程 圖 23 創(chuàng)建接收線程 實現(xiàn)線程函數(shù) 接受消息 消息轉(zhuǎn)換 創(chuàng)建套接字 Bind 綁定 4 第三章 詳細設計 界面設計 圖 31 說明:界面由一個對話框 ,兩個編輯框,一個按鈕和一個 IP 地址編輯框組成。其中接收數(shù)據(jù)欄中的編輯框可以顯示發(fā)送的信息和接收到的信息,發(fā)送數(shù)據(jù)欄中編輯框則可以編輯發(fā)送信息,按回車鍵后即可發(fā)送信息。 IP 地址欄中可以輸入需要連接的主機的 IP 地址。為了美觀和方便,在添加按鈕后,選中按鈕控件的 DEFAULT 和 VISIALBE 屬性,將其設定為不可見,并通過回車能夠?qū)崿F(xiàn)按鈕功能。 多線程 由于該聊天工具是將利用 UDP 協(xié)議實現(xiàn)聊天功能,并將發(fā)送端和接收端(某種意義上也可以算是服務器和客戶端)集成在一起,為了將發(fā)送功能和接受功能同時實現(xiàn), 需要用到多線程技術。 5 因為在接收端接收數(shù)據(jù)時,如果數(shù)據(jù)沒有來到, recvfrom函數(shù)會阻塞,從而導致程序暫停運行。所以,將接收數(shù)據(jù)的操作放置在一個單獨的線程中完成。并給這個線程函數(shù)傳遞兩個參數(shù),一個是已創(chuàng)建的套接字,一個是對話框空間的句柄,這樣,在該函數(shù)中,當接到數(shù)據(jù)后,可以將該數(shù)據(jù)傳回給對話框,經(jīng)過處理后顯示在接受編輯框控件上。 傳遞的結構體的代碼如下: struct RECVPARAM { SOCKET sock 。 //已創(chuàng)建的套接字 HWND hwnd。 //對話框句柄 }。 編寫接受線程函數(shù),并在一定情況下啟動線程,具體代碼請參閱附錄。 套接字 因為本程序使用的是 UDP 協(xié)議,并將接收端和發(fā)送端集成在一個面上,所以從理論上說,該界面即是服務器,又是客戶端,而且基于 UDP 協(xié)議的聊天工具的套接字中并不需要監(jiān)聽和接受的步驟,彼此是點對點式的平等,也正是因此,所以可以將服務器和客戶端集成在一起。 6 第四章 測試結果 圖 41 7 第五章 總結 這次課程設計 對我來說是一個重大的挑戰(zhàn),因為從前沒有學過 C++,并對網(wǎng)絡編程、套接字、多線程一無所知,所以遇到的困難很大。不過好在老師的指導和自己通過網(wǎng)絡,圖書館等途徑的查詢,終于搞明白了其中的大部分內(nèi)容,這次課程設計對我的 VC 是一個檢驗,更加是是對我學習能力的一個檢驗。 在編寫代碼的過程中,所用到的技術基本上都能夠從書上查到,并通過自己的揣摩能夠編寫,但是最后遇到了一個最大的問題,就是通過 的自網(wǎng)測試沒有問題,但是在不同電腦相互通信的時候,往往套接字創(chuàng)建失敗,這個問題一直困擾了我很長的時間,不管我怎么看 代碼都找不出其中的原因。后來通過網(wǎng)絡相關論壇的幫助,我才明白,原來 Windows 系統(tǒng)的防火墻對端口 6000 有限制,所以如果將套接字綁定在端口 6000 上,無法實現(xiàn)創(chuàng)建套接字,因此總是會不斷地失敗。只需要改為其他的端口,即可在不同電腦之間的相互通信。這算是我通過這次
點擊復制文檔內(nèi)容
畢業(yè)設計相關推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1