基于MFC的在線聊天系統(tǒng)課程設(shè)計(jì)_第1頁
基于MFC的在線聊天系統(tǒng)課程設(shè)計(jì)_第2頁
基于MFC的在線聊天系統(tǒng)課程設(shè)計(jì)_第3頁
基于MFC的在線聊天系統(tǒng)課程設(shè)計(jì)_第4頁
基于MFC的在線聊天系統(tǒng)課程設(shè)計(jì)_第5頁
已閱讀5頁,還剩11頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、操作系統(tǒng)實(shí)驗(yàn)報(bào)告一 概要設(shè)計(jì)3.1 系統(tǒng)體系結(jié)構(gòu)本系統(tǒng)由教注冊、登陸和聊天等部分組成。注冊模塊主要完成用戶信息的提交,登陸模塊用于驗(yàn)證操作者的信息,聊天模塊主要包括群聊、私聊,刷新在線用戶列表、顯示其他用戶發(fā)送的信息、發(fā)送信息給其他用戶、上傳下載資源等(未實(shí)現(xiàn))。系統(tǒng)體系結(jié)構(gòu)如下圖所示: 開始 注冊信息 提示用戶已被注冊提交服務(wù)器審核 未通過 通過 完成注冊成功 ( 注冊模塊 ) 開始 登錄 完成判斷提示“用戶名或密碼錯誤” 未通過通過 (登錄模塊 )開始 選擇是否開啟音樂 是開啟音樂軟件否選擇聊天方式指定私聊對象私聊發(fā)送信息/接受信息群聊是否退出否結(jié)束退出是 (聊天模塊)3.2 系統(tǒng)的設(shè)計(jì)與

2、實(shí)現(xiàn)3.2.1 數(shù)據(jù)庫設(shè)計(jì) 本系統(tǒng)主要采用以下數(shù)據(jù)庫表:個人信息表 個人信息表主要存儲用戶的一些基本注冊信息,其中包括用戶名和密碼字段,主要用于用戶系統(tǒng)對用戶的識別。具體內(nèi)容見表1: 表1 個人信息表字段類型及長度備注用戶名varchar(50)主鍵密碼varchar(50)不能為空真名varchar(50)可為空年紀(jì)varchar(50)可為空性別varchar(50)可為空職業(yè)varchar(50)可為空3.2.2 模塊實(shí)現(xiàn) 3.2.2.1 注冊模塊的實(shí)現(xiàn) 注冊用戶首次使用該系統(tǒng)應(yīng)該先完成注冊。按照系統(tǒng)提示的步驟,逐步完成注冊后即可登錄該系統(tǒng),使用該系統(tǒng)。3.2.2.2 登陸模塊的實(shí)現(xiàn) 登

3、錄 用戶憑借已經(jīng)注冊的用戶名和密碼登陸該系統(tǒng)。3.2.2.3 聊天模塊的實(shí)現(xiàn) 群聊 私聊用戶點(diǎn)擊界面上的群聊或私聊按鈕即可和他人進(jìn)行聊天。 聽音樂用戶點(diǎn)擊聽音樂的按鈕,可打開音樂軟件進(jìn)行聽音樂。 刷新在線用戶列表和顯示別人發(fā)來的信息 當(dāng)有人登陸是可以自動刷新登陸列表,當(dāng)有人發(fā)送信息時,會顯示信息。 上傳下載(暫未實(shí)現(xiàn))用戶可以點(diǎn)擊上傳或下載按鈕,把電腦資源上傳或從服務(wù)器下載資源,而且用戶可點(diǎn)擊修改按鈕,實(shí)現(xiàn)上傳信息的修改。 二 詳細(xì)設(shè)計(jì)4.1 用戶進(jìn)行通信 用戶按照界面提示進(jìn)行交流,通過MFC的SOCKET編程實(shí)現(xiàn)客戶端與服務(wù)器的數(shù)據(jù)傳輸,下面通過流程圖和主要代碼段詳細(xì)說明設(shè)計(jì)過程: (通信流

4、程圖)因此只要安裝了客戶端,連接了客戶端后即可與其他人進(jìn)行通信。實(shí)現(xiàn)客戶端主要:下面一段代碼是對套接字的初始化: CLoginDlg dlg;int nRet = -1;nRet = dlg.DoModal();/此成員函數(shù)用來顯示一個模態(tài)對話框。其返回值對應(yīng)于用來關(guān)閉對話框的控件的ID。switch(nRet) case IDOK: m_pMySocket = new CMySocket(this);if(!m_pMySocket-Create()/創(chuàng)建套接字delete m_pMySocket; m_pMySocket = NULL;AfxMessageBox(創(chuàng)建套接字失敗!);retu

5、rn;if(!m_pMySocket-Connect(dlg.m_strIP, dlg.m_nPort)/連接服務(wù)器delete m_pMySocket;m_pMySocket = NULL;AfxMessageBox(連接服務(wù)器失??!);return;m_sUsername = dlg.m_strUserName;/ 連接成功后發(fā)送登錄消息Packet packet;memset(&packet, 0, sizeof(Packet);/清零packet.type = LOGIN_REQUEST; strcpy(packet.username, dlg.m_strUserName);strcp

6、y(packet.password, dlg.m_strPassword);m_myname=dlg.m_strUserName;UpdateData(false);m_pMySocket-Send(&packet, sizeof(Packet);/send 功能向窗口發(fā)送指定的消息并立即執(zhí)行相應(yīng)的事件處理程序。break;OnPaint();/繪圖函數(shù)void CChatClientDlg:OnButtonLogin() /響應(yīng)登陸函數(shù),用于客戶端登錄void CChatClientDlg:OnReceive()/接收服務(wù)器發(fā)送過來的消息并作出反應(yīng)void CChatClientDlg:On

7、ButtonLogout() /退出按鈕響應(yīng)函數(shù)CChatClientDlg:OnButtonRegister() /響應(yīng)注冊按鈕 具體內(nèi)容參考源代碼。4.2 用戶界面設(shè)計(jì)該系統(tǒng)中,用戶所接觸的所有界面均是使用MFC內(nèi)置的對話框完成設(shè)計(jì)的。運(yùn)用對話框而不使用菜單欄的理由是:對話框更人性化,用戶打開界面后即可通過一系列的按鈕和其他控件明白怎么實(shí)現(xiàn)該頁面內(nèi)的內(nèi)置功能。雖說這樣實(shí)現(xiàn)起來很好,但是由于時間原因,在優(yōu)化系統(tǒng)界面可以說還不夠完善,界面有點(diǎn)單調(diào),因此在后期的制作中會著重考慮界面優(yōu)化。下面通過幾個界面向讀者展示本系統(tǒng)的某些界面:(用戶登陸界面) (注冊)(聊天界面)三 主要功能測試及截圖3.1用戶注冊點(diǎn)擊注冊后,連接服務(wù)器,把注冊信息添加到服務(wù)器端的數(shù)據(jù)庫中,完成注冊。3.2用戶登陸 點(diǎn)擊連接后,發(fā)送用戶名和

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論