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

正文內容

基于局域網(wǎng)的即時通訊聊天室系統(tǒng)設計_畢業(yè)設計論文(留存版)

2024-09-07 14:19上一頁面

下一頁面
  

【正文】 a t S o c k e tC C h a t D l gC C h a t P a c k e t 聯(lián) 合 P A C K E T T Y P EC U s e r I n f o 聯(lián) 合 U S E R S T A T U EC C l i e n t R e l o g i n D l g C C l i e n t L o g i n D l gC C l i e n t A p p 結 束 1* 結 束 2* 結 束 3* 結 束 4* 結 束 5* 結 束 6* 結 束 71 結 束 8* 結 束 91 結 束 1 0* 結 束 1 11 結 束 1 2* 結 束 1 31 結 束 1 4* 結 束 1 51 結 束 1 6* 圖 靜態(tài)類圖 客戶端 主要類介紹 ? CClientDlg 類:創(chuàng)建客戶端主窗口,創(chuàng)建聊天窗口,接收離線消息,發(fā)送離線消息和保存聊天記錄等。 軟件測試的目標 ( 1) .測試是為了發(fā)現(xiàn)程序中的錯誤而執(zhí)行的程序的過程; ( 2) .好的測試方案是極可能發(fā)現(xiàn)迄今為止尚未發(fā)現(xiàn)的錯誤的測試方案; ( 3) 成功的測試時發(fā)現(xiàn)了至今為止尚未發(fā)現(xiàn)的錯誤的測試。 對所有的邏輯判定,取 “真 ”與取 “假 ”的兩種情況都能至少測一遍。 轉眼本科生階段就要劃上句號了。 當然這個系統(tǒng)還存在 許多有待完善之處: 因此白盒測試又稱為結構測試或邏輯驅動測試。 客戶端主要過程介紹 客戶端主要 去實現(xiàn)的是功能:初始化, 創(chuàng)建初始化窗口,接收窗口,接收離線聊天消息以及登陸控制。 ? CServerApp:用于生成唯一實例。ar) Void 序列化 表 34: CChatPacket 類成員變量 名 稱 類 型 說 明 m_type PACKETTYPE 包類型 m_UserInfo CUserInfo 用戶信息 m_strMsg CString 消息 m _pUserList CObList* 用戶鏈表 m_OfflineUserInfo CUserInfo 離線用戶信息 m_time CTime 日期和時間 16 4 系統(tǒng)實現(xiàn) 服務器端 設計 實現(xiàn) 服務器端 靜態(tài)類圖 C A r c h i v e C S o c k e t F i l e m _ h I c o n : H I C O NC S o c k e t F i l eC L i s t e n S o c k e t C C l i e n t S o c k e tC S e r v e r A d d r e s s D l gC S e r v e r A p p 聯(lián) 合 P A C K E T T Y P EC C h a t P a c k e tC U s e r I n f o 聯(lián) 合 U S E R A T A T U E 結 束 11 結 束 2* 結 束 31 結 束 4* 結 束 51 結 束 6* 結 束 71 結 束 8* 圖 服務器靜態(tài)類圖 服務器 主要類介紹 ? CServerDlg 類 : 創(chuàng)建 服務器 主窗口,管理用戶信息鏈表,管理在線用戶鏈表,管理離線用戶鏈表,讀取保存用戶信息,讀取保存離線消息等。該程序將成員列表設計為三種狀態(tài) 登 陸 狀 態(tài) : 當 用 戶 登 陸 服 務 器 事 , 設 置 用 戶 狀 態(tài) 為 登 陸 狀 態(tài) , 服務器根據(jù)該用戶列表狀態(tài)發(fā)送成員列表。 ( 2) 通知客戶端更新成員狀態(tài)。這有別于普通 Web 瀏覽的連接方式。通過它可以充分利用兩端硬件環(huán)境的優(yōu)勢,將任務合理分配到 Client 端和 Server 端來實現(xiàn),降低了系統(tǒng)的通訊開銷。 IP 數(shù)據(jù)包是不可靠的,因為 IP 并沒有做任何事情來確認數(shù)據(jù)包是按順序發(fā)送的或者沒有被破壞。因此 Visual C++又稱作是一個集成開發(fā)工具,它提供了軟件代碼自動生成和可視化的資源編輯功能。 第 4 章是系統(tǒng)實現(xiàn), 分別介紹了服務器端和客戶端每個功能的執(zhí)行過程,畫出主要模塊的流程圖。 基于 Socket 的局域網(wǎng)聊天工具很好地詮釋了 Socket 通信的原理,并且在企業(yè)內部通信、教學、討論等應用中都具有一定的實用價值。 本論文提出一個運行于 VC 平臺上的局域網(wǎng)聊天軟件的解決方案。 系統(tǒng) 現(xiàn)狀 基于局域網(wǎng)的即時通信工具,實際上是互聯(lián)網(wǎng)即時通信工具的一個小規(guī)模版本,廣域網(wǎng)上的即時通信工具,如今一般采用 UDP 或者 TCP 協(xié)議體系來實現(xiàn) ,開發(fā)技術已經比較成熟,比如較早的 ICQ, MSN Messenger, Yahoo。 3 2 系統(tǒng)開發(fā)環(huán)境和關鍵技術 開發(fā)環(huán)境 我所設計的是一個面向中小型機構內部通信需求的局域網(wǎng)即時信息軟件,要在短時間內開發(fā)出來并且要滿足客戶要求,無論是硬件還是軟件都要選擇合適 ,要求如 下:開發(fā)設備應該完備;開發(fā)機器的性能必須穩(wěn)定;操作系統(tǒng)的選擇應該 適當 ;開發(fā)出的程序可以在盡可能多的平臺上運行;要求運行機配置盡可 能低檔。 現(xiàn)在的 Winsock 已經基本上實現(xiàn)了與協(xié)議無關,你可以使用 Winsock 來調用多種協(xié)議的功能,但較常使用的是 TCP/IP 協(xié)議。 TCP 將包排序并進行錯誤檢查,同時實現(xiàn)虛電路間的連接。由于服務器連接個數(shù)和數(shù)據(jù)通信量的限制,這種結構的軟件適于在用戶數(shù)目不多的局域網(wǎng)內使用。因為服務器任何時候都可能發(fā)送信息到客戶端,因此,客戶端和服務器一旦建立連接,必須能讓服務器在以后發(fā)送中尋找定位到這個連接 。 ( 5) 驗證密碼 。 在線用戶之間可以直接發(fā)送消息;對離線離線用戶需要服務器轉發(fā)。obList) Void 讀取用戶消息 SendUserList() Void 發(fā)送用戶鏈表 CopyUserList(CObList amp。 26 表 成員函數(shù) 函 數(shù) 名 稱 返 回 值 功 能 CClientDlg(CWnd *pParent=NULL) 無 構造函數(shù) ~CClientDlg() 無 析夠函數(shù) Init() BOOL 初始化 InitListCtrlSetting() BOOL 初始列表控件 ConnectToServer() BOOL 連接服務器 BegingListen() BOOL 監(jiān)聽 ProcessPendingAccept() Void 接受對方連接 ProcessPendingRead() Void 接受數(shù)據(jù)包 SendPacket(CChatPacket amp。 從上述規(guī)則可以看出,測試的 正確定義是“為了發(fā)現(xiàn)程序中的錯誤而執(zhí)行程序的過程”。 在循環(huán)的邊界和運行的界限內執(zhí)行循環(huán)體。 在文字傳送的同時增加表情發(fā)送的功能 ; 通過這次畢業(yè)設計 ,我更深刻的認識到了教學實踐在大學課程中的重要性,同時也發(fā)覺到了自己在學習方面存在的不足之處, 在以后 的學習中我會努力改進這些不足、不斷提高自己的動手實踐能力 。 勤 動手的重要性,在以前我總是有“只學不練”的傾向,導致動手能力得不到提高,在這次的一次次編寫代碼、調試代碼的過程中,我才明白“ 代碼不是寫出來的,是調出來的”的道理。 在這段時間里我學到了很多以前沒有學到的知識,同時也將以前所學過的知識運用到實踐項目中,在提高理論知識的基礎上,也充分地鍛煉了自己的動手能力。通過在不同點檢查程序狀態(tài),確定實際狀態(tài)是否與預期的狀態(tài)一 致。 ? CClientLoginDlg 類:派生與 CDialog 類,用與創(chuàng)建服務器對話框。userInfo) Void 保存用戶狀態(tài)信息 19 GetUserInfo() CUserInfo 獲取用戶信息 OnReceive(int nErrorCode) Void 接收數(shù)據(jù) OnClose(int nErrorCode) Void 關閉套接字 ? CServerAddressDlg: 用與設置服務器地址和斷口。 ? MESSAGE:客戶端發(fā)送的消息 ? USERLIST:用戶列表 ? SERVERMSG:服務器發(fā)送的消息 ? UNKNOWN:未知類型 表 33: CChatPakcet 類成員函數(shù) 函 數(shù) 名 稱 返 回 值 功 能 CChatPacket() 無 構造函數(shù) ~CChatPacket() 無 析夠函數(shù) Init() Viod 初始化成員變量 Serialize(CArchive amp。 圖 36 局域網(wǎng)聊天系統(tǒng)功能 模塊 圖 共享數(shù)據(jù)類設計 A.用戶設計: 1.用戶狀態(tài)設計 客戶端與服務器端都擁有成員列表。 服務 器端實現(xiàn)功能: ( 1) 維護聊天室成員列表:包括接受新成員,刪除已有成員。 在 基于 Socket 的聊天系統(tǒng) , 客戶端和服務器必須保持隨時隨地的連接。 面 向連接的( TCP) 連接過程 8 Client/Server 結構 (客戶機 /服務器模式) Client/Server 結構 ( C/S 結構 )是大家熟知的客戶機和服務器結構。 IP 層接收由更低層(網(wǎng)絡接口層例如以太網(wǎng)設備驅動程序)發(fā)來的數(shù)據(jù)包,并把該數(shù)據(jù)包發(fā)送到更高層 TCP 或 UDP 層;相反, IP 層也把從 TCP 或 UDP 層接收來的數(shù)據(jù)包傳送到更低層。 Visual C++是功能最為強大可視化開發(fā)工具,它不僅支持傳統(tǒng)的軟件開發(fā)方法,更重要的是它能支持面向對象、可視化的開發(fā)風格。對系統(tǒng)的結構進行 設計,設計共享數(shù)據(jù)結構。它的實現(xiàn)無需對企業(yè)原有的局域網(wǎng)硬件進行任何改動,具有實現(xiàn)成本低廉的優(yōu)點,它的使用能有效地降低局域網(wǎng)通信負荷,提高局域網(wǎng)的使用效率,可以很好地解決企業(yè)內部局域網(wǎng)的各種通信需求。該聊天軟件包括服務器端和客戶端兩個模塊, 客戶端通過服務器端進行通信 。 除了 這些國外開發(fā)的產品,還有國產的有名的 ,新浪 UC,LAVALAVA 等,這些工 具統(tǒng)統(tǒng)都實現(xiàn)了廣域網(wǎng)上的即時通信,盡管都是即時通信,實現(xiàn)了即時聊天,以及文件傳輸?shù)闹饕δ埽且哺饔懈鞯奶厣?,比?ICQ 的巨大客戶群, MSN 的個性化表情, YAHOO 通的易操作性等。對此,我們選擇的硬件環(huán)境和軟件環(huán)境如下: 硬件環(huán)境 Windows sockets 無疑是我們進行網(wǎng)絡編程的利器 。 TCP 數(shù)據(jù)包中包括序號和確認,所以未按照順序收到的包可以被排序,而損壞的包可以被重傳。 C/S 結構的優(yōu)點是能充分發(fā)揮客戶端PC的處理能力,很多工作可以在客戶端處理后再提交給服務器。 局域網(wǎng)聊天系統(tǒng)使該系統(tǒng)的用戶能夠通過 客戶端登入到該系統(tǒng),然后直接與系統(tǒng)交互。 ( 6) 禁止已登陸用戶再次登陸。 轉發(fā)關系如圖 所示。obList) Void 復制用戶鏈表 DeleteTempUserList(CObList amp。packet) Void 發(fā)送數(shù)據(jù) ReadPacket() Void 接收服務器數(shù)據(jù) UpdateClientListCtl() Void 更新用戶列表 ShowOfflineMsg(CChatPacket *pPacket) Void 顯示離線消息 CreateUserList(CObList *pObList) Void 創(chuàng)建用戶鏈表 CreateChatDlg(CString *pChatDlg) Void 創(chuàng)建聊天窗口 SaveChatLog(CChatDlg *pChatDlg) Void 保存聊天記錄 OnDblclkClientList(NMHDR *pNMHDR,LRESULT *pResult) Void 雙擊列表視圖控件的消息響應函數(shù) ? CChatDlg 類:編輯和顯示 消息。正確認識測試是非常重要的,測試目標決定了測試方案的設計。 測試內部數(shù)據(jù)結構的有效性,等等。應使用戶能夠實現(xiàn)個人信息如昵稱、密碼等的修改; 36 參考文獻 [1] 侯俊杰 深入淺出 MFC(第二版) 華中科技大學出版社 20xx01 [2] 王燕 《面向對象的理論與 c+
點擊復制文檔內容
研究報告相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1