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

正文內(nèi)容

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

 

【正文】 計(jì)( 論 文) 題 目 基于 局域網(wǎng)的即時(shí)通訊 聊天室系統(tǒng)設(shè)計(jì) 部 系 地方生部 專 業(yè) 電子信息工程 II 基于局域網(wǎng)的即時(shí)通訊聊天系統(tǒng)的設(shè)計(jì) 摘 要 隨著計(jì)算機(jī)科學(xué)和 Inter 的飛速發(fā)展 , 網(wǎng)上 聊天 已成為人們相互交流的一種 方式 , 與 Email、電話相比 , 聊天服務(wù)更具有實(shí)時(shí)性和有效性。服務(wù)器端模塊主要 實(shí)現(xiàn)了服務(wù)器的配置和數(shù)據(jù)的傳遞 ; 客戶端模塊 主要實(shí)現(xiàn)了用戶注冊(cè)、登錄、文字聊天等功能。出于高效、快速地處理各種事務(wù)的 目的,越來(lái)越多的企業(yè)在其內(nèi)部使用局域網(wǎng)來(lái)進(jìn)行工作。 本系統(tǒng)采用 基于 Socket 的局 域網(wǎng)通信工具的設(shè)計(jì)與實(shí)現(xiàn) 的 方法。它具有信息收發(fā)速度快,保密性好,占用網(wǎng)絡(luò)帶寬資源低,占用服務(wù)器吞吐能力低,易于編程實(shí) 現(xiàn)等優(yōu)點(diǎn)。而 也具有一個(gè)相當(dāng)方便的屏幕截圖功能,另外就是,所有上述軟件都實(shí)現(xiàn)了網(wǎng)絡(luò)即時(shí)的視頻,語(yǔ)音聊天功能。 系統(tǒng)綜述 現(xiàn)在,多渠道的信息源、網(wǎng)絡(luò)化的數(shù)據(jù)分布、快捷醫(yī)用的交互操作、智能化的分析決策等特點(diǎn)越來(lái)越成為衡量有兩聊天軟件的關(guān)鍵,因此,本人開發(fā)一個(gè)局域網(wǎng)聊天軟件,該 聊天軟件是基于 C++語(yǔ)言運(yùn)行于 VC平臺(tái)上,利用的技術(shù)主要是 Socket通信,使用配置文件作為數(shù)據(jù)管理。 第 3 章是系統(tǒng)分析與設(shè)計(jì) 。 第 5 章介紹 系統(tǒng)測(cè)試 。 處理器: Intel Pentium PIII 或更高處理器 軟件環(huán)境 從 20 世紀(jì) 70 年代第一次提出面向?qū)ο蟮母拍铋_始,到現(xiàn)在面向?qū)ο蠹夹g(shù)發(fā)展成為一種比較成熟的編程思想,通過(guò)面向?qū)ο蠹夹g(shù),可以將現(xiàn)實(shí)世界直接影射到對(duì)象空間,從而為系統(tǒng)的設(shè)計(jì)和開發(fā)帶來(lái)革命性的影響。 Visual C++具有的優(yōu)點(diǎn):提供了面向?qū)ο蟮膽?yīng)用程序框架 MFC( Microsoft Foundation Class) , 4 簡(jiǎn)化了程序員的編程工作,提高了模塊的可重用性;提供了基于 CASE 技術(shù)的可視化軟件的自動(dòng)生成和維護(hù)工具 AppWizard、 ClassWizard、 Visual Studio、 WizardBar等,實(shí)現(xiàn)了直觀、可視的程序設(shè)計(jì)風(fēng)格,方便地編和管理各種類,維護(hù)程序的源代碼;封裝了 Windows 的 API 函數(shù)、 USER、 KERNEL、 GDI 函數(shù),簡(jiǎn)化了編程時(shí)創(chuàng)建、維護(hù)窗口的許多復(fù)雜的工作。 所有的 Windows Sockets 實(shí)現(xiàn)都支持流套接口和數(shù)據(jù)報(bào)套接口。這一 API 調(diào)用用來(lái)取代探尋網(wǎng)絡(luò) I/O 調(diào)用。其過(guò)程如圖 所示。 IP 數(shù)據(jù)包中含有發(fā)送它的主機(jī)的地址 (源地址)和接收它的主機(jī)的地址(目的地址)。 UDP 與 TCP 位于同一層,但對(duì)于數(shù)據(jù)包的順序錯(cuò)誤或重發(fā)。 源端口 源系統(tǒng)上的連接的端口。服務(wù)進(jìn)程通常使用一個(gè)固定的端口,例如, SMTP 使用 25。 目前大多數(shù)應(yīng)用 軟件 系統(tǒng)都是 Client/Server 形式的兩層結(jié)構(gòu) 。對(duì)應(yīng)的 優(yōu)點(diǎn)就是客戶端響應(yīng)速度快。 9 3 系統(tǒng) 分析與設(shè)計(jì) 系統(tǒng)分析 系統(tǒng)需求 聊天交流是目前互聯(lián)網(wǎng)提供的主要內(nèi)容。 聊天系統(tǒng)在客戶端和服務(wù)器之間主要傳送的是文字信息,服務(wù)器端只需要把最近的文字信息推送到客戶端,這樣減少了網(wǎng)絡(luò)傳輸內(nèi)容,節(jié) 省了網(wǎng)絡(luò)傳輸?shù)臅r(shí)間,無(wú)疑提高了聊天速度。在使用瀏覽器訪問(wèn)服務(wù)器時(shí),先由客戶端發(fā)出 HTTP 協(xié)議,然后服務(wù)器響應(yīng)處理這個(gè)客戶端的響應(yīng),再返回處理結(jié)果;請(qǐng)求( Request)和響應(yīng)( Response)是一種一對(duì)一的前后因果關(guān)系 。 首先,需啟動(dòng)服務(wù)器,進(jìn)行服務(wù)器的配置,進(jìn)行正確的服務(wù)器配置和數(shù)據(jù)庫(kù)連接并測(cè)試成功后,開啟服務(wù)器。 ( 2) 更新成員狀態(tài)。 ( 5) 當(dāng)用戶上線時(shí),接受其他用戶的離線消息。 ( 3) 通知客戶端更新成員列表。 ( 7) 保存用戶信息。 本系統(tǒng)在 架構(gòu)設(shè)計(jì)上將分 4 個(gè)層次,如圖 所示。 工作流程 只有充分地了解了聊天程序的工作流程,才能對(duì)整個(gè)系統(tǒng)的理解更加深刻,聊天程序的工作流程如圖 所示 。 在線狀態(tài):用戶在線,當(dāng)兩個(gè)用戶都在線時(shí),可以相互發(fā)送和接受成員列表。 C l i n e t消 息C l i e n t 在線用戶發(fā)送消息 局域網(wǎng)聊天系統(tǒng) 服務(wù)器 客戶端 開啟服務(wù)器 停止服務(wù)器 配置服務(wù)器 關(guān)閉服務(wù)器 發(fā) 送 離 線信息 登陸 文字傳送 接收 離 線信息 用 戶 管 理 14 C l i n e t S e r v e r C l i e n t消 息 消 息 在線用戶給離線用戶發(fā)送消息 圖 轉(zhuǎn)發(fā)關(guān)系圖 B. 用戶類設(shè)計(jì) 在程序中聲明 CUserInfo 信息類。 表 成員函數(shù) 函 數(shù) 名 稱 返 回 值 功 能 CUserInfo() 無(wú) 構(gòu)造函數(shù) CUserInfo(constCUserInfoamp。 賦值函數(shù) 表 成員變量 名 稱 類 型 說(shuō) 明 m_strName CString 名稱 m_strPassword Cstring 密碼 m_eStatus USERSTATUE 狀態(tài) m_lIP DWORD I P 地址 m_time CTime 時(shí)間 15 B.?dāng)?shù)據(jù)包類設(shè)計(jì) 在 程序中聲明 CChatPacket 類描述服務(wù)器和客戶端接收和發(fā)送的數(shù)據(jù)包。 17 表 類成員函數(shù) 函 數(shù) 名 稱 返 回 值 功 能 CserverDlg 無(wú) 構(gòu)造函數(shù) ~CServerDlg() 無(wú) 析構(gòu)函數(shù) StartService() BOOL 啟動(dòng)服務(wù) Init() BOOL 初始化 ProcessPendingRead(CArchive *pArchiveIn, CArchive *pArchiveOut,CClientSocket) BOOL 接收數(shù)據(jù) ProcessPendingAccept() Void 接受客戶端連接請(qǐng)求 ReleaseChatter(CClientSocket *pClientSocket) Void 離線時(shí)刪除用戶 DeleteChatter(CClientSocket *pClientSocket) Void 用戶登陸密碼錯(cuò)誤時(shí)刪除用戶 DeleteAllChatter() Void 刪除所有在線用戶 InitListCtrlSetting() Void 定義鏈表控件 InitUserList() Void 初始化用戶鏈表 SaveUserList(const CObList amp。obList) Void 刪除臨時(shí)鏈表 UpdateUserList(constCUserInfoamp。obList) void 保存 用戶 信息 SaveOfflineMsg(const CObList amp。在該類中重寫 CAsyncSocket 類 OnReceive()和 OnClose()虛函數(shù)。 服務(wù)器 端主要過(guò)程介紹 啟動(dòng)服務(wù)器: 啟動(dòng)服務(wù)器的過(guò)程就是創(chuàng)建套接字并開始監(jiān)聽客戶端連接的過(guò)程。 該類有三個(gè)構(gòu)造函數(shù)用于創(chuàng)建 3 種不同情況下的窗口 : ( 1) 用與主動(dòng)與其他用戶聊天。 表 成員函數(shù) 函數(shù)名稱 返回值 功能 CChatDlg(CWnd *pParent=NULL) 無(wú) 被動(dòng)聊天窗口 CChatDlg(CWnd *pParent,const CUser amp。userInfo) Void 設(shè)置用戶信息 *GetChatSocket() Void 返回 CChatSocket 指針 DisPlaySentMessage(CChatPacket *pPacket) Void 顯示發(fā)送的離線消息 OnDestroy() Void 消息響應(yīng)函數(shù) DisPlaySentMessage() Void 顯示發(fā)送的在線消息 ? CListenSocket 類:派生與 CSocket 類,用于監(jiān)聽其他用戶的連接請(qǐng)求,該類重寫了 OnAccept()函數(shù) 。 初始化: ? 初始化列表 ? 圖控件開始監(jiān)聽 ? 連接服務(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)。沒(méi)有發(fā)現(xiàn)錯(cuò)誤的測(cè)試也是有價(jià)值的,完整的測(cè)試是評(píng)定測(cè)試質(zhì)量的一種方法。 它只檢查程序功能是否按照需求規(guī)格說(shuō)明書的規(guī)定正常使用,程序是否能適當(dāng)?shù)亟邮蛰斎霐?shù)據(jù) 而產(chǎn)生正確的輸出信息。 白盒測(cè)試: 軟件的白盒測(cè)試是對(duì)軟件的過(guò)程性細(xì)節(jié)做細(xì)致的檢查。白盒測(cè)試主要是想對(duì)程序模塊進(jìn)行如下檢查: 對(duì)程序模塊的所有獨(dú)立的執(zhí)行路徑至少測(cè)試一遍。 33 測(cè)試用例 黑盒測(cè)試:主要是同學(xué)幫助一起測(cè)試系統(tǒng)的功能,看看主要功能是否能得以實(shí)現(xiàn)。 該系統(tǒng) 完成了服務(wù)器端的配置與開啟,客戶端用戶的注冊(cè)、登陸、文字傳送、 發(fā)送離線消息 的功能 。接著便進(jìn)入了系統(tǒng)詳細(xì)設(shè)計(jì)和編碼階段,在這個(gè)階段,由于自己動(dòng)手經(jīng)驗(yàn)不足和對(duì)開發(fā)工具的陌生,系統(tǒng)遇到了很多大大小小的問(wèn)題,比如如何 向注冊(cè)表中寫入連接字符傳 , 如何 將所有留言狀態(tài)置為已讀 ,如何利用 多線程、非堵塞 I/O技術(shù) 提高系統(tǒng)性能 , 在一次次克服困難的過(guò)程中,我得到了極大的鍛煉, 基本上掌握了一些的編程技巧,同時(shí)也獲得了許多寶 貴的軟件開發(fā)經(jīng)驗(yàn)和技巧,這為我今后的學(xué)習(xí)工作打下了堅(jiān)實(shí)的基礎(chǔ)。 功能相對(duì)較少,有待于添加,比方說(shuō)像文件傳輸,查找等功能。界面設(shè)計(jì)的不夠精致美觀。 這次 畢業(yè)設(shè)計(jì)的時(shí)間雖然不算太長(zhǎng),但使我對(duì)很多東西有了更深刻的認(rèn)識(shí)。向老師和同學(xué)請(qǐng)教的重要性。對(duì)待任何事情都要有耐心和恒心,遇到問(wèn)題要冷靜地思考,積極找出癥結(jié)所在, 35 逐個(gè)解決。老師在專業(yè)課程的學(xué)習(xí)、素材的收 集、課題的確立、資料的查閱都給以的熱忱的關(guān)懷和細(xì)心的指導(dǎo) 。 最后, 再次向各位 老師的關(guān)心和幫助 表示 衷心的 感謝 !
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1