




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
南昌航空大學(xué)東軟班詳細(xì)設(shè)計(jì)報(bào)告版本:0.1.0基于MFC的即時(shí)通訊軟件的設(shè)計(jì)與實(shí)現(xiàn)詳細(xì)設(shè)計(jì)總頁(yè)數(shù)23正文20附錄無(wú)生效日期2014/4/8編制批準(zhǔn)修改履歷修改編號(hào)日期修改人版本號(hào)修改內(nèi)容10.1.0初始做成目錄HYPERLINK1 文檔概述 4HYPERLINK1.1 文檔目的和范圍 4HYPERLINK1.2 術(shù)語(yǔ)/縮略語(yǔ) 4HYPERLINK1.3 參考文檔 4HYPERLINK2 處理 4HYPERLINK2.1 模塊數(shù)據(jù)結(jié)構(gòu)定義 4HYPERLINK2.1.1全局變量定義 4HYPERLINK2.2 模塊功能實(shí)現(xiàn) 6HYPERLINK2.2.1模塊共有函數(shù)部分 6HYPERLINK2.2.2服務(wù)器模塊內(nèi)部函數(shù) 15HYPERLINK2.2.3客戶端模塊內(nèi)部函數(shù) 18文檔概述文檔目的和范圍該項(xiàng)目主要完成的是Windows下基于MFC的聊天軟件,主要包括客戶端模塊和服務(wù)器模塊,本文檔的主要內(nèi)容是本項(xiàng)目的各個(gè)模塊詳細(xì)設(shè)計(jì),包括相應(yīng)的模塊結(jié)構(gòu),函數(shù)聲明,宏定義等,主要目的是為項(xiàng)目的編碼階段提供設(shè)計(jì)參考。術(shù)語(yǔ)/縮略語(yǔ)序號(hào)術(shù)語(yǔ)/縮略語(yǔ)說(shuō)明1MFC(MicrosotProgramingInterface)微軟基礎(chǔ)類庫(kù)2SOCKET實(shí)現(xiàn)信息的發(fā)送與接收參考文檔序號(hào)文檔名作者時(shí)間版本1詳細(xì)設(shè)計(jì)模板Neusoft2007-11-90.1.0處理模塊數(shù)據(jù)結(jié)構(gòu)定義2.1.1全局變量定義宏定義constintMSG_LOGOIN=0x01;//登陸constintMSG_SEND=0x11;//發(fā)送消息constintMSG_CLOSE=0x02;//退出constintMSG_UPDATE=0x21;//更新信息數(shù)據(jù)結(jié)構(gòu)定義typedefstructtagHeader{ inttype;//協(xié)議類型 intnContentLen;//將要發(fā)送的內(nèi)容的長(zhǎng)度 charto_user[20]; charfrom_user[20];}HEADER,*LPHEADER;模塊功能實(shí)現(xiàn)2.2.1模塊共有函數(shù)部分msg_process【函數(shù)式樣】函數(shù)名msg_process文件名client.cppserver.cpp功能概要分辨接收到的消息類型并處理記述形式voidmsg_process(Messagemsg)參數(shù)類型變量名I/O說(shuō)明MessagemsgI接收到的消息返回值類型void說(shuō)明值--詳細(xì)說(shuō)明底層接收到消息后,觸發(fā)槽函數(shù)msg_process,在函數(shù)中通過(guò)對(duì)消息解析后調(diào)用不同的處理函數(shù)進(jìn)行消息處理。使用注意事項(xiàng)無(wú)【函數(shù)處理流程】send_msg【函數(shù)式樣】函數(shù)名send_msg文件名udpsocket.cpp功能概要發(fā)送信息至服務(wù)器記述形式intsend_msg(intmsg_op,Messagemsg,QStringip)參數(shù)類型變量名I/O說(shuō)明intmsg_opI要發(fā)送的信息的操作碼MessagemsgI要發(fā)送的信息QStringipI信息接收端的ip地址返回值類型int說(shuō)明值SUCC正常結(jié)束FAIL異常結(jié)束詳細(xì)說(shuō)明將已經(jīng)創(chuàng)建并填寫(xiě)的消息發(fā)送至服務(wù)器。使用注意事項(xiàng)消息必須預(yù)先創(chuàng)建好并填入信息后傳入。【函數(shù)處理流程】draw_arc_windown【函數(shù)式樣】函數(shù)名draw_arc_windown文件名ui界面文件中功能概要繪制圓角窗口記述形式booldraw_arc_windown()參數(shù)類型變量名I/O說(shuō)明返回值類型bool說(shuō)明值true正常結(jié)束fail異常結(jié)束詳細(xì)說(shuō)明繪制一個(gè)圓角矩形,并將圓角矩形設(shè)為當(dāng)前窗口的矩形邊框,是窗口設(shè)置成為圓角矩形。使用注意事項(xiàng)無(wú)【函數(shù)處理流程】get_local_ip【函數(shù)式樣】函數(shù)名get_local_ip文件名udpsocket.cppserver.cpp功能概要獲得本機(jī)當(dāng)前的ip記述形式QStringget_local_ip();參數(shù)類型變量名I/O說(shuō)明返回值類型QString說(shuō)明值ip返回本機(jī)當(dāng)前的ip地址詳細(xì)說(shuō)明函數(shù)內(nèi)部先通過(guò)接口獲得包括環(huán)回地址在內(nèi)的所有ip,之后通過(guò)篩選選出正確的當(dāng)前ip。使用注意事項(xiàng)無(wú)【函數(shù)處理流程】receive_msg【函數(shù)式樣】函數(shù)名receive_msg文件名udpsocket.cpp功能概要接收信息并存儲(chǔ)記述形式voidreceive_msg()參數(shù)類型變量名I/O說(shuō)明返回值類型void說(shuō)明值--詳細(xì)說(shuō)明當(dāng)readyRead()信號(hào)被觸發(fā)時(shí),進(jìn)入該函數(shù),獲得消息隊(duì)列中的信息,并發(fā)送信號(hào)msg_received信號(hào)。使用注意事項(xiàng)無(wú)【函數(shù)處理流程】user_*系列函數(shù)【函數(shù)式樣】函數(shù)名user_*()文件名client.cppserver.cpp功能概要處理不同的消息所執(zhí)行的對(duì)應(yīng)函數(shù)記述形式voiduser_*(QStringmsg)(槽函數(shù))參數(shù)類型變量名I/O說(shuō)明QStringmsgI要處理的消息返回值類型void說(shuō)明值--詳細(xì)說(shuō)明處理對(duì)應(yīng)類型的消息所執(zhí)行的函數(shù),該系列函數(shù)內(nèi)部結(jié)構(gòu)一致,執(zhí)行結(jié)束后將執(zhí)行結(jié)果返回各個(gè)UI模塊進(jìn)行處理。使用注意事項(xiàng)無(wú)【函數(shù)處理流程】2.2.2服務(wù)器模塊內(nèi)部函數(shù)OnLogoIn()【函數(shù)式樣】函數(shù)名OnLogoIn()文件名CClientSocket.cpp功能概要登陸記述形式voidCClientSocket::OnLogoIN(char*buff,intnlen,charfrom_user[20])參數(shù)類型變量名I/O說(shuō)明CClientSocketI返回值類型void說(shuō)明值--詳細(xì)說(shuō)明用戶登陸后更新服務(wù)器端用戶列表并在控件中顯示登陸時(shí)間使用注意事項(xiàng)無(wú)【函數(shù)處理流程】OnMSGTranslate函數(shù)名OnMSGTranslate()文件名CClientSocket.cpp功能概要轉(zhuǎn)發(fā)消息記述形式VoidCClientSocket::OnMSGTranslate(char*buff,intnlen,charto_user[20],charfrom_user[20])參數(shù)類型變量名I/O說(shuō)明返回值類型-說(shuō)明值--詳細(xì)說(shuō)明實(shí)現(xiàn)群聊和私聊功能使用注意事項(xiàng)【函數(shù)處理流程】UpdateAllUser函數(shù)名UpdateAllUser文件名CClientSocket.cpp功能概要更新所有在線用戶記述形式voidCClientSocket::UpdateAllUser(CStringstrUserInfo,charfrom_user[20])參數(shù)類型變量名I/O說(shuō)明CClientSocketstrUserInfoI保存有當(dāng)前的鼠標(biāo)事件返回值類型void說(shuō)明值--詳細(xì)說(shuō)明由Unicode轉(zhuǎn)換至通用字符使用注意事項(xiàng)無(wú)UpdateServerLog函數(shù)名UpdateServerLog文件名CClientSocket.cpp功能概要更新服務(wù)器在線名單記述形式CStringCClientSocket::UpdateServerLog()參數(shù)類型變量名I/O說(shuō)明CStringstrUserInfoI返回值類型void說(shuō)明值--詳細(xì)說(shuō)明更新服務(wù)器顯示使用注意事項(xiàng)無(wú)OnAccept函數(shù)名OnAccept文件名ServerSocket.cpp功能概要接收客戶端登陸請(qǐng)求記述形式voidCServerSocket::OnAccept(intnErrorCode)參數(shù)類型變量名I/O說(shuō)明voidnErrorCodeISocket通信失敗錯(cuò)誤代碼返回值類型void說(shuō)明值--詳細(xì)說(shuō)明接收到一個(gè)連接請(qǐng)求后,開(kāi)辟并初始化一個(gè)theClientSock*類型空間使用注意事項(xiàng)無(wú)OnReceive函數(shù)名OnReceive文件名CClientSocket.cpp功能概要接收并處理服務(wù)端數(shù)據(jù)記述形式VoidCClientSocket::OnReceive(intnErrorCode)參數(shù)類型變量名I/O說(shuō)明-voidnErrorCodeISocket通信失敗錯(cuò)誤代碼返回值類型void說(shuō)明值--詳細(xì)說(shuō)明接收客戶端發(fā)來(lái)的數(shù)據(jù),判斷是登陸類型數(shù)據(jù)還是發(fā)送消息數(shù)據(jù)類型,并根據(jù)消息類型處理數(shù)據(jù)使用注意事項(xiàng)2.2.3客戶端模塊內(nèi)部函數(shù)OnBnClickedBtnLogoin函數(shù)名OnBnClickedBtnSend文件名LogoInDlg.cpp功能概要客戶端登陸服務(wù)器記述形式VoidCLogoInDlg::OnBnClickedBtnLogoin()參數(shù)類型變量名I/O說(shuō)明Void--返回值類型void說(shuō)明值--詳細(xì)說(shuō)明登陸服務(wù)器時(shí)檢查填寫(xiě)用戶名的正確性并發(fā)送給服務(wù)器使用注意事項(xiàng)無(wú)LogoIn函數(shù)名OnBnClickedBtnSend文件名LogoInDlg.cpp功能概要客戶端登陸服務(wù)器記述形式BOOLCClientSocket::LogoIn(LPSTRlpBuff,intnlen,charfrom_user[20])參數(shù)類型變量名I/O說(shuō)明--返回值類型Bool說(shuō)明值TRUE正常結(jié)束false異常結(jié)束詳細(xì)說(shuō)明登陸服務(wù)器時(shí)發(fā)送數(shù)據(jù)自定義協(xié)議使用注意事項(xiàng)無(wú)OnBnClickedBtnSend函數(shù)名OnBnClickedBtnSend文件名NetChatClientDlg.cpp功能概要發(fā)送消息記述形式voidCNetChatClientDlg::OnBnClickedBtnSend()參數(shù)類型變量名I/O說(shuō)明Void-返回值類型void說(shuō)明值--詳細(xì)說(shuō)明在用戶列表選擇聊天對(duì)象后點(diǎn)擊發(fā)送按鈕將信息發(fā)送至服務(wù)器,由服務(wù)器再轉(zhuǎn)發(fā)至聊天對(duì)象使用注意事項(xiàng)無(wú)【函數(shù)處理流程】UpdateUserInfo函數(shù)名UpdateUserInfo文件名NetChatClientDlg.cpp功能概要顯示所有用戶記述形式voidCNetChatClientDlg::UpdateUserInfo(CStringstrInfo)參數(shù)類型變量名I/O說(shuō)明CNetChatClientDlgstrInfoI用戶返回值類型
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- T-ZSA 232-2024 特種巡邏機(jī)器人通.用技術(shù)要求
- T-ZJHQ 0003-2024 高等學(xué)校生活垃圾分類工作規(guī)范
- 2025年度電子商務(wù)平臺(tái)數(shù)據(jù)分析與報(bào)告合同模板
- 二零二五年度解除婚約合同范本:婚約解除后的財(cái)產(chǎn)清算、債務(wù)處理及子女監(jiān)護(hù)協(xié)議
- 2025年度鋼板租賃與回收利用合同
- 二零二五年度金融機(jī)構(gòu)資金轉(zhuǎn)入風(fēng)險(xiǎn)管理合同
- 2025年度智慧能源管理系統(tǒng)擔(dān)保人履約保證合同
- 二零二五年度企業(yè)綠色金融項(xiàng)目補(bǔ)貼協(xié)議
- 二零二五年度情人協(xié)議書(shū):浪漫愛(ài)情生活規(guī)劃合同范本
- 石壕吏:歷史背景與社會(huì)問(wèn)題分析教學(xué)教案
- 濕式氣柜培訓(xùn)
- 2023年高考真題-化學(xué)(福建卷) 含解析
- 欄桿拆除及更換施工方案
- 10我們愛(ài)和平(第1課時(shí))(說(shuō)課稿)2023-2024學(xué)年統(tǒng)編版道德與法治六年級(jí)下冊(cè)
- 《國(guó)際貿(mào)易實(shí)務(wù)(英文版)》(英文課件) -Ch 6 International Cargo Transport-Ch 11 Cross-border Commerce
- 新條令.新亮點(diǎn)-內(nèi)務(wù)條令解讀
- 中醫(yī)適宜技術(shù)-中藥熱奄包
- 林海雪原課件6張
- 銀發(fā)經(jīng)濟(jì)產(chǎn)業(yè)發(fā)展規(guī)劃
- 防火涂料質(zhì)量保證書(shū)
- 礦產(chǎn)資源開(kāi)發(fā)合同備忘錄范本
評(píng)論
0/150
提交評(píng)論