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

正文內(nèi)容

基于局域網(wǎng)的即時(shí)通訊聊天室系統(tǒng)設(shè)計(jì)_畢業(yè)設(shè)計(jì)論文-資料下載頁(yè)

2025-06-30 14:19本頁(yè)面

【導(dǎo)讀】種方式,與E-mail、電話相比,聊天服務(wù)更具有實(shí)時(shí)性和有效性。本論文提出一個(gè)運(yùn)行于VC平臺(tái)上的局域網(wǎng)聊天軟件的解決方案。括服務(wù)器端和客戶端兩個(gè)模塊,客戶端通過(guò)服務(wù)器端進(jìn)行通信。該軟件采用異步套接字的非阻塞模式,并實(shí)現(xiàn)對(duì)象的序列化和MFC文件對(duì)象。實(shí)現(xiàn)數(shù)據(jù)的保存。Keywords:LAN、Instantmessaging、Socket、asynchronousmodle. 系統(tǒng)內(nèi)容與目標(biāo)--------------------------------------------------------------------------------------2. 2系統(tǒng)開(kāi)發(fā)環(huán)境和關(guān)鍵技術(shù)--------------------------------------------------------------------------3. .VisualC++和面向?qū)ο蟪绦蛟O(shè)計(jì)-------------------------------------------------------------------------------3. WINDOWSSOCKETS網(wǎng)絡(luò)編程接口----------------------------------------------------------------------------------4. TCP/IP協(xié)議、TCP協(xié)議-----------------------------------------------------------------------------------

  

【正文】 Void 雙擊列表視圖控件的消息響應(yīng)函數(shù) ? CChatDlg 類:編輯和顯示 消息。 該類有三個(gè)構(gòu)造函數(shù)用于創(chuàng)建 3 種不同情況下的窗口 : ( 1) 用與主動(dòng)與其他用戶聊天。對(duì)方可以是在線,也可以是離線狀態(tài)。 ( 2) 顯示離線消息窗口。 ( 3) 被動(dòng)聊天窗口,其他用戶向該用戶發(fā)起的聊天請(qǐng)求所創(chuàng)建的窗口。 表 成員函數(shù) 函數(shù)名稱 返回值 功能 CChatDlg(CWnd *pParent=NULL) 無(wú) 被動(dòng)聊天窗口 CChatDlg(CWnd *pParent,const CUser amp。pPacket Const CUserInfo amp。userInfo) 無(wú) 在線 /離線窗口 CChatDlg(CWnd 無(wú) 顯示離線聊天窗口 27 *pParent,CChatPacket *pPacket) ~CChatDlg() 無(wú) 析構(gòu)函數(shù) PreTranslateMessage(MSG *pMsg) BOOL 處理鍵盤(pán)消息 InitSocket() BOOL 創(chuàng)建套接字 ConnectToPeer() BOOL 連接對(duì)方 ProcessPendingRead() Void 接收數(shù)據(jù) DisplayRecvMessage(CChatPacket *pPacket) Void 顯示消 息 DisplayOfflineMessage(CChatPacket *pPacket) Void 顯示接收到的離線消息 SendPeerMessage() Void 發(fā)送消息 InitArchive() Void 初始化讀入對(duì)象 etPeerInfo(CUserInfo amp。peerInfo) Void 設(shè)置對(duì)方信息 SetUserInfo(CUserInfo amp。userInfo) Void 設(shè)置用戶信息 *GetChatSocket() Void 返回 CChatSocket 指針 DisPlaySentMessage(CChatPacket *pPacket) Void 顯示發(fā)送的離線消息 OnDestroy() Void 消息響應(yīng)函數(shù) DisPlaySentMessage() Void 顯示發(fā)送的在線消息 ? CListenSocket 類:派生與 CSocket 類,用于監(jiān)聽(tīng)其他用戶的連接請(qǐng)求,該類重寫(xiě)了 OnAccept()函數(shù) 。 ? CChatSOcket 類:派生與 CSocket 類,用于監(jiān)聽(tīng)其他用戶的通信,該類重寫(xiě)了 OnReceive()函數(shù) 。 ? CClientLoginDlg 類:派生與 CDialog 類,用與創(chuàng)建服務(wù)器對(duì)話框。 客戶端主要過(guò)程介紹 客戶端主要 去實(shí)現(xiàn)的是功能:初始化, 創(chuàng)建初始化窗口,接收窗口,接收離線聊天消息以及登陸控制。 初始化: ? 初始化列表 ? 圖控件開(kāi)始監(jiān)聽(tīng) ? 連接服務(wù)器 ,連接服務(wù)器的過(guò)程如 圖 所示 28 圖 登陸用戶圖 29 創(chuàng) 建 C C h a t S o c k e t 對(duì) 象創(chuàng) 建 C S o c k e t F i l e 對(duì) 象創(chuàng) 建 讀 入 文 檔 對(duì) 象登 陸 對(duì) 話 框是 否 取 消登 陸成 功 連 接服 務(wù) 器 ?獲 取 本 機(jī) 套 接 字 地 址保 存 用 戶 信 息請(qǐng) 求 用 戶 鏈 表退 出是 否 繼 續(xù)連 接 服 務(wù)器否是是否否是 圖 連接服務(wù)器 30 創(chuàng)建聊天窗口 如圖 所示 : 是用戶自身?在用戶鏈表中找到該用戶用戶在線?發(fā)送連接請(qǐng)求顯示聊天窗口保存聊天記錄顯示聊天窗口發(fā)送離線消息保存聊天記錄退出在線不在線 圖 創(chuàng)建聊天窗口 在線聊天: ? 按情況 CChatDlg 類構(gòu)造函數(shù) ? 連接對(duì)方 ? 發(fā)送消息 ? 接受消息 ? 發(fā)送離線消息 被動(dòng)聊天 : ? 創(chuàng)建聊天窗口 ? 保存聊天記錄 31 圖 在線聊天 圖 412 發(fā)送離線消息 圖 接收離線消息 32 系統(tǒng)測(cè)試 測(cè)試意義 本章對(duì)我們的系統(tǒng)做具體的測(cè)試,驗(yàn)證系統(tǒng)的功能是否得以實(shí)現(xiàn)。 軟件測(cè)試的目標(biāo) ( 1) .測(cè)試是為了發(fā)現(xiàn)程序中的錯(cuò)誤而執(zhí)行的程序的過(guò)程; ( 2) .好的測(cè)試方案是極可能發(fā)現(xiàn)迄今為止尚未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試方案; ( 3) 成功的測(cè)試時(shí)發(fā)現(xiàn)了至今為止尚未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試。 從上述規(guī)則可以看出,測(cè)試的 正確定義是“為了發(fā)現(xiàn)程序中的錯(cuò)誤而執(zhí)行程序的過(guò)程”。正確認(rèn)識(shí)測(cè)試是非常重要的,測(cè)試目標(biāo)決定了測(cè)試方案的設(shè)計(jì)。沒(méi)有發(fā)現(xiàn)錯(cuò)誤的測(cè)試也是有價(jià)值的,完整的測(cè)試是評(píng)定測(cè)試質(zhì)量的一種方法。 軟件測(cè)試的方法 軟件的測(cè)試分為兩種:黑盒測(cè)試和白盒測(cè)試。 黑盒測(cè)試: 黑盒測(cè)試也稱功能測(cè)試,它是通過(guò)測(cè)試來(lái)檢測(cè)每個(gè)功能是否都能正常使用。在測(cè)試地,把程序看作一個(gè)不能打開(kāi)的黑盒子,在完全不考慮程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性的情況下,在程序接口進(jìn)行測(cè)試 。 它只檢查程序功能是否按照需求規(guī)格說(shuō)明書(shū)的規(guī)定正常使用,程序是否能適當(dāng)?shù)亟邮蛰斎霐?shù)據(jù) 而產(chǎn)生正確的輸出信息。黑盒測(cè)試著眼于程序外部結(jié)構(gòu),不考慮內(nèi)部邏輯結(jié)構(gòu),主要針對(duì)軟件界面和軟件功能進(jìn)行測(cè)試。 黑盒測(cè)試是以用戶的角度,從輸入數(shù)據(jù)與輸出數(shù)據(jù)的對(duì)應(yīng)關(guān)系出發(fā)進(jìn)行測(cè)試的。很明顯,如果外部特性本身有問(wèn)題或規(guī)格說(shuō)明的規(guī)定有誤,用墨盒測(cè)試方法是發(fā)現(xiàn)不了的。 白盒測(cè)試: 軟件的白盒測(cè)試是對(duì)軟件的過(guò)程性細(xì)節(jié)做細(xì)致的檢查。這種方法是把測(cè)試對(duì)象看做一個(gè)打開(kāi)的盒子,它允許測(cè)試人員利用程序內(nèi)部的邏輯結(jié)構(gòu)及有關(guān)信息,設(shè)計(jì)或選擇測(cè)試用例,對(duì)程序所有邏輯路徑進(jìn)行測(cè)試。通過(guò)在不同點(diǎn)檢查程序狀態(tài),確定實(shí)際狀態(tài)是否與預(yù)期的狀態(tài)一 致。因此白盒測(cè)試又稱為結(jié)構(gòu)測(cè)試或邏輯驅(qū)動(dòng)測(cè)試。白盒測(cè)試主要是想對(duì)程序模塊進(jìn)行如下檢查: 對(duì)程序模塊的所有獨(dú)立的執(zhí)行路徑至少測(cè)試一遍。 對(duì)所有的邏輯判定,取 “真 ”與取 “假 ”的兩種情況都能至少測(cè)一遍。 在循環(huán)的邊界和運(yùn)行的界限內(nèi)執(zhí)行循環(huán)體。 測(cè)試內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有效性,等等。 33 測(cè)試用例 黑盒測(cè)試:主要是同學(xué)幫助一起測(cè)試系統(tǒng)的功能,看看主要功能是否能得以實(shí)現(xiàn)。 白盒測(cè)試:主要是在編寫(xiě)代碼的過(guò)程中對(duì)各個(gè)類進(jìn)行測(cè)試,檢查各個(gè)類的功能是否實(shí)現(xiàn),最后是對(duì)整個(gè)系統(tǒng)的測(cè)試,進(jìn)一步檢查各個(gè)類的功能。 經(jīng)過(guò)以上測(cè)試,系統(tǒng)基本完成所需功能。 表格 測(cè)試用例 功能描述 用戶登錄 用例目的 測(cè)試用戶登錄功能是否正常 前提條件 客戶端程序和服務(wù)器端程序處于運(yùn)行狀態(tài) 輸入 /動(dòng)作 期望的輸出 /相應(yīng) 實(shí)際情況 示例 1:輸入正確的用戶名、密 碼、服務(wù)器IP 和端口號(hào) 用戶成功登陸,關(guān)閉登陸窗體,彈出客戶端主界面 與期望輸出相同 示例 2:不輸入用戶名密碼、輸入服務(wù)器 IP和端口號(hào) 提示用戶 “用戶名不能為空! ”或 “密碼不能為空! ” 與期望輸出相同 示例 3:輸入正確的用戶名、密碼,輸入錯(cuò)誤服務(wù)器 IP 和端口號(hào) 用戶登陸失敗,提示連接服務(wù)器失敗 與期望輸出相同 示例 4:輸入錯(cuò)誤的用戶名或密碼,輸入正確服務(wù)器 IP 和端口號(hào) 用戶登錄失敗,提示用戶名或密碼輸入錯(cuò)誤 與期望輸出相同 …… …… …… 34 總結(jié)與 展望 經(jīng)過(guò) 3 個(gè)月緊張的畢業(yè)設(shè)計(jì), 局域網(wǎng)聊天軟件 已基 本完成,系統(tǒng)基本功能已經(jīng)實(shí)現(xiàn) ,測(cè)試運(yùn)行也完全正常。 該系統(tǒng) 完成了服務(wù)器端的配置與開(kāi)啟,客戶端用戶的注冊(cè)、登陸、文字傳送、 發(fā)送離線消息 的功能 。 該 系統(tǒng)操作簡(jiǎn)便、易于使用 。 在畢業(yè)設(shè)計(jì)的初期階段,我主要學(xué)習(xí)了與本課題相關(guān)的理論知識(shí),包括: VC++的設(shè)置與開(kāi)發(fā), MFC 下的軟件開(kāi)發(fā)過(guò)程等 相關(guān)技術(shù), socket 編程技術(shù)和多線程開(kāi)發(fā)技術(shù),并完成客戶端和服務(wù)器端文字信息傳遞實(shí)驗(yàn)。 在查閱大量資料逐漸了解系統(tǒng)需求后,我編寫(xiě)了系統(tǒng)的需求分析規(guī)格說(shuō)明書(shū)和系統(tǒng)概要說(shuō)明書(shū)。接著便進(jìn)入了系統(tǒng)詳細(xì)設(shè)計(jì)和編碼階段,在這個(gè)階段,由于自己動(dòng)手經(jīng)驗(yàn)不足和對(duì)開(kāi)發(fā)工具的陌生,系統(tǒng)遇到了很多大大小小的問(wèn)題,比如如何 向注冊(cè)表中寫(xiě)入連接字符傳 , 如何 將所有留言狀態(tài)置為已讀 ,如何利用 多線程、非堵塞 I/O技術(shù) 提高系統(tǒng)性能 , 在一次次克服困難的過(guò)程中,我得到了極大的鍛煉, 基本上掌握了一些的編程技巧,同時(shí)也獲得了許多寶 貴的軟件開(kāi)發(fā)經(jīng)驗(yàn)和技巧,這為我今后的學(xué)習(xí)工作打下了堅(jiān)實(shí)的基礎(chǔ)。 而這對(duì)我來(lái)說(shuō)是一次豐富的收獲。 在這段時(shí)間里我學(xué)到了很多以前沒(méi)有學(xué)到的知識(shí),同時(shí)也將以前所學(xué)過(guò)的知識(shí)運(yùn)用到實(shí)踐項(xiàng)目中,在提高理論知識(shí)的基礎(chǔ)上,也充分地鍛煉了自己的動(dòng)手能力。 當(dāng)然這個(gè)系統(tǒng)還存在 許多有待完善之處: 功能相對(duì)較少,有待于添加,比方說(shuō)像文件傳輸,查找等功能。 在文字傳送的同時(shí)增加表情發(fā)送的功能 ; 應(yīng)使用戶能夠?qū)崿F(xiàn)個(gè)人信息如昵稱、密碼等的修改; 界面設(shè)計(jì)的不夠精致美觀。由于自己經(jīng)驗(yàn)不足且時(shí)間有限,所以界面設(shè)計(jì)不盡人意; 用戶的 權(quán)限設(shè)置應(yīng)更加嚴(yán)謹(jǐn),層次更加清晰,多功能的實(shí)現(xiàn)不同權(quán)限的用戶對(duì)系統(tǒng)不同功能的操作 。 除了以上列舉的一些不足之處外,此系統(tǒng)還有其它很多功能需要增強(qiáng),由于個(gè)人水平有限,時(shí)間也比較緊,只能實(shí)現(xiàn)系統(tǒng)的基本操作,對(duì)其它功能我想更進(jìn)一步的學(xué)習(xí)并完善。 這次 畢業(yè)設(shè)計(jì)的時(shí)間雖然不算太長(zhǎng),但使我對(duì)很多東西有了更深刻的認(rèn)識(shí)。 總結(jié)如下: 查閱資料和閱讀相關(guān)文獻(xiàn)的重要性。 向老師和同學(xué)請(qǐng)教的重要性。 勤 動(dòng)手的重要性,在以前我總是有“只學(xué)不練”的傾向,導(dǎo)致動(dòng)手能力得不到提高,在這次的一次次編寫(xiě)代碼、調(diào)試代碼的過(guò)程中,我才明白“ 代碼不是寫(xiě)出來(lái)的,是調(diào)出來(lái)的”的道理。 對(duì)待任何事情都要有耐心和恒心,遇到問(wèn)題要冷靜地思考,積極找出癥結(jié)所在, 35 逐個(gè)解決。 轉(zhuǎn)眼本科生階段就要?jiǎng)澤暇涮?hào)了。通過(guò)這次畢業(yè)設(shè)計(jì) ,我更深刻的認(rèn)識(shí)到了教學(xué)實(shí)踐在大學(xué)課程中的重要性,同時(shí)也發(fā)覺(jué)到了自己在學(xué)習(xí)方面存在的不足之處, 在以后 的學(xué)習(xí)中我會(huì)努力改進(jìn)這些不足、不斷提高自己的動(dòng)手實(shí)踐能力 。 36 參考文獻(xiàn) [1] 侯俊杰 深入淺出 MFC(第二版) 華中科技大學(xué)出版社 20xx01 [2] 王燕 《面向?qū)ο蟮睦碚撆c c++實(shí)踐》 清華大學(xué)出版社 1996 [3] 李師賢、李文軍、周曉聰?shù)? 《面向?qū)ο蟪绦蛟O(shè)計(jì)基礎(chǔ)》 高 教育出版社 [4] 孫鑫、余安萍 《 VC++ 深入詳解》 電子工業(yè)出版社 [5] 張虹 《軟件工程與軟件開(kāi)發(fā)工具》 清華大學(xué)出版社 [6] 汪翔、袁輝 《 visual c++實(shí)踐與提高 網(wǎng)絡(luò)編程篇》 中國(guó)鐵路出版 20xx [7] 趙松濤 《 SQL Server 20xx 應(yīng)用與實(shí)例集錦》 人民郵電出版社 1999 [8] 姚領(lǐng)田《精通 MFC 程序設(shè)計(jì)》 人民郵電出版社 20xx [10] 清汗計(jì)算機(jī)工作室 《 Visual C++ 數(shù)據(jù)庫(kù)與網(wǎng)絡(luò)開(kāi)發(fā)實(shí)例》 機(jī)械工業(yè)出版社 20xx [11] Kate Gregory 《 Visual c++6 開(kāi)發(fā)使用手冊(cè)》 機(jī)械工業(yè)出版 1999 [12] [13] 37 致 謝 在本文結(jié)束之際,首先要向我的導(dǎo)師致以崇高的敬意和衷心的感謝。老師在專業(yè)課程的學(xué)習(xí)、素材的收 集、課題的確立、資料的查閱都給以的熱忱的關(guān)懷和細(xì)心的指導(dǎo) 。老師嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度、淵博的學(xué)識(shí)、對(duì)事業(yè)的兢兢業(yè)業(yè)、不斷進(jìn)取的精神,為我今后的生活及工作樹(shù)立了榜樣,我的點(diǎn)滴進(jìn)步無(wú)不凝結(jié)著導(dǎo)師的心血。 還要感謝各位 任課 老師, 老師們 深厚的學(xué)術(shù)功底、旺盛的工作熱情和平易近人的態(tài)度是我學(xué)習(xí)的榜樣。 感謝審閱本文的 老師,感謝你們?cè)诎倜χ谐槌鰧氋F時(shí)間來(lái)審閱本文,并期待你 們的批評(píng)指正 。 最后, 再次向各位 老師的關(guān)心和幫助 表示 衷心的 感謝 !
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1