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

正文內(nèi)容

基于局域網(wǎng)的即時通訊聊天室系統(tǒng)設(shè)計畢業(yè)設(shè)計論文(編輯修改稿)

2024-07-20 07:36 本頁面
 

【文章內(nèi)容簡介】 絡(luò)傳輸內(nèi)容,節(jié)省了網(wǎng)絡(luò)傳輸?shù)臅r間,無疑提高了聊天速度。這種“推”技術(shù)是目前基于Socket聊天系統(tǒng)的主要實現(xiàn)技術(shù)。在基于Socket的聊天系統(tǒng),客戶端和服務(wù)器必須保持隨時隨地的連接。這有別于普通Web瀏覽的連接方式。在使用瀏覽器訪問服務(wù)器時,先由客戶端發(fā)出HTTP協(xié)議,然后服務(wù)器響應(yīng)處理這個客戶端的響應(yīng),再返回處理結(jié)果;請求(Request)和響應(yīng)(Response)是一種一對一的前后因果關(guān)系。而在基于Socket的聊天系統(tǒng)中,客戶端發(fā)出聊天信息的同時,客戶端也在接受服務(wù)器發(fā)送過來的其他人的聊天信息,因此,請求和響應(yīng)不存在那種前后對應(yīng)關(guān)系,是兩種分別獨立進行的進程。因為服務(wù)器任何時候都可能發(fā)送信息到客戶端,因此,客戶端和服務(wù)器一旦建立連接,必須能讓服務(wù)器在以后發(fā)送中尋找定位到這個連接。局域網(wǎng)聊天系統(tǒng)使該系統(tǒng)的用戶能夠通過客戶端登入到該系統(tǒng),然后直接與系統(tǒng)交互。首先,需啟動服務(wù)器,進行服務(wù)器的配置,進行正確的服務(wù)器配置和數(shù)據(jù)庫連接并測試成功后,開啟服務(wù)器。接下來,在客戶端,該系統(tǒng)的用戶能夠通過登陸界面進入,然后直接與系統(tǒng)交互,進行文字傳送。本系統(tǒng)支持的活動列表如下:(1) 配置服務(wù)器,設(shè)置IP及端;(2) 開啟服務(wù)器;(3) 對離線用戶進行刪除管理;(4) 用戶登陸系統(tǒng);(5) 用戶與系統(tǒng)交互,進行文字傳送;(6) 用戶好友登陸后,自動刷新列表;(7) 傳送文字,當(dāng)好友不在線時,發(fā)送離線消息;(8) 上線接收離線消息; 需求分析該聊天程序分為服務(wù)器端和課戶端兩個部分??蛻舳藢崿F(xiàn)功能:(1) 向在線成員發(fā)送消息并接收消息。(2) 更新成員狀態(tài)。當(dāng)其他成員上線或下線時,客戶端及時更新成員狀態(tài)。(3) 更新成員列表,當(dāng)其他成員加入或者偶成員被刪除時,客戶端及時更新成員列表。(4) 當(dāng)對方不在線時,可以向該成員發(fā)送離線消息。(5) 當(dāng)用戶上線時,接受其他用戶的離線消息。(6) 保存聊天記錄。服務(wù)器端實現(xiàn)功能:(1) 維護聊天室成員列表:包括接受新成員,刪除已有成員。(2) 通知客戶端更新成員狀態(tài)。(3) 通知客戶端更新成員列表。(4) 為離線用戶保存離線消息。(5) 驗證密碼。(6) 禁止已登陸用戶再次登陸。(7) 保存用戶信息。(8) 為用戶保存離線消息。:ClientServerClientClientClient更新成員列表成員列表請求應(yīng)答發(fā)送消息 關(guān)系功能圖 系統(tǒng)設(shè)計 設(shè)計原則考慮到系統(tǒng)的可重用性和伸縮性,需要將本系統(tǒng)的網(wǎng)絡(luò)通信底層和應(yīng)用系統(tǒng)分離開。這樣,基于可重用的網(wǎng)絡(luò)通信層,可以實現(xiàn)其他各種實時性較高的應(yīng)用系統(tǒng)。本系統(tǒng)在架構(gòu)設(shè)計上將分4個層次。CAsyncSocketCSocket聊天、游戲等應(yīng)用系統(tǒng)Window Sockets API 本系統(tǒng)最底層是Socket通信層,將負責(zé)客戶端和服務(wù)器之間快速的數(shù)據(jù)交換,它通過接口層和最上面應(yīng)用層保持實時數(shù)據(jù)聯(lián)系。用戶從客戶端進入到本系統(tǒng)前,將實現(xiàn)統(tǒng)一的用戶登錄驗證機制。Socket底層設(shè)計分兩大部分:協(xié)議設(shè)計和連接處理設(shè)計:協(xié)議設(shè)計和連接處理設(shè)計;CSocket層的目的是提供底層和應(yīng)用蹭一個中介媒體的作用,但是不能設(shè)計得太復(fù)雜,以免延誤數(shù)據(jù)傳送時間。 工作流程只有充分地了解了聊天程序的工作流程,才能對整個系統(tǒng)的理解更加深刻。加載套接字庫初始化套接字綁定本地機到套接字向指定IP地址發(fā)送數(shù)據(jù)關(guān)閉套接字庫結(jié)束聊天創(chuàng)建線程用于接受數(shù)據(jù) 功能設(shè)計局域網(wǎng)聊天系統(tǒng)以局域網(wǎng)內(nèi)的用戶為應(yīng)用對象,經(jīng)過各方面需求分析,該系統(tǒng)主要由服務(wù)器端和客戶端兩部分構(gòu)成,各功能模塊如圖36所示。局域網(wǎng)聊天系統(tǒng)服務(wù)器客戶端開啟服務(wù)器停止服務(wù)器配置服務(wù)器關(guān)閉服務(wù)器發(fā)送離線信息登陸文字傳送接收離線信息用戶管理圖36局域網(wǎng)聊天系統(tǒng)功能模塊圖 共享數(shù)據(jù)類設(shè)計A.用戶設(shè)計:1.用戶狀態(tài)設(shè)計客戶端與服務(wù)器端都擁有成員列表。該程序?qū)⒊蓡T列表設(shè)計為三種狀態(tài)登陸狀態(tài):當(dāng)用戶登陸服務(wù)器事,設(shè)置用戶狀態(tài)為登陸狀態(tài), 服務(wù)器根據(jù)該用戶列表狀態(tài)發(fā)送成員列表。在線狀態(tài):用戶在線,當(dāng)兩個用戶都在線時,可以相互發(fā)送和接受成員列表。離線狀態(tài):當(dāng)用戶離線時,不能發(fā)送和接受消息。在線用戶之間可以直接發(fā)送消息;對離線離線用戶需要服務(wù)器轉(zhuǎn)發(fā)。 在線用戶發(fā)送消息 在線用戶給離線用戶發(fā)送消息 B.用戶類設(shè)計 在程序中聲明CUserInfo信息類。在該類中聲明USERSTATUE枚舉類型,描述用戶狀態(tài)。l ONLINE:在線狀態(tài)l OFFLINE:離線狀態(tài)l LOGIN:登陸狀態(tài)l UNKNOWN:未知狀態(tài),初始化狀態(tài)。 成員函數(shù),類成員變量如表32所示。函 數(shù) 名 稱返 回 值 功 能 CUserInfo() 無 構(gòu)造函數(shù)CUserInfo(constCUserInfoamp。userInfo) 無 復(fù)制構(gòu)造數(shù)~CUserInfo () 無 析構(gòu)函數(shù) Init() Void初始成員變量 Serialize(CArchiveamp。ar) void 序列化Operator=(const CUserInfoamp。userInfo) CUserInfoamp。 賦值函數(shù)名 稱 類 型說 明 m_strNameCString名稱m_strPasswordCstring密碼m_eStatusUSERSTATUE狀態(tài)m_lIP DWORDI P地址m_timeCTime時間B.?dāng)?shù)據(jù)包類設(shè)計 在程序中聲明CChatPacket類描述服務(wù)器和客戶端接收和發(fā)送的數(shù)據(jù)包。在該類中聲明PACKETTYPE枚舉類型。l MESSAGE:客戶端發(fā)送的消息l USERLIST:用戶列表l SERVERMSG:服務(wù)器發(fā)送的消息l UNKNOWN:未知類型表33:CChatPakcet類成員函數(shù)函 數(shù) 名 稱返 回 值功 能 CChatPacket() 無 構(gòu)造函數(shù)~CChatPacket() 無 析夠函數(shù)Init()Viod 初始化成員變量Serialize(CArchive amp。ar)Void 序列化表34:CChatPacket類成員變量名 稱 類 型 說 明m_type PACKETTYPE 包類型 m_UserInfo CUserInfo 用戶信息 m_strMsg CString 消息 m _pUserList CObList* 用戶鏈表 m_OfflineUserInfo CUserInfo 離線用戶信息 m_time CTime 日期和時間4 系統(tǒng)實現(xiàn) 服務(wù)器端設(shè)計實現(xiàn) 服務(wù)器端靜態(tài)類圖 服務(wù)器靜態(tài)類圖 服務(wù)器主要類介紹l CServerDlg類:創(chuàng)建服務(wù)器主窗口,管理用戶信息鏈表,管理在線用戶鏈表,管理離線用戶鏈表,讀取保存用戶信息,讀取保存離線消息等。 函 數(shù) 名 稱 返 回 值 功 能CserverDlg 無構(gòu)造函數(shù) ~CServerDlg() 無析構(gòu)函數(shù)StartService() BOOL啟動服務(wù)Init() BOOL初始化ProcessPendingRead(CArchive *pArchiveIn, CArchive *pArchiveOut,CClientSocket) BOOL接收數(shù)據(jù)ProcessPendingAccept() Void接受客戶端連接請求ReleaseChatter(CClientSocket *pClientSocket) Void離線時刪除用戶DeleteChatter(CClientSocket *pClientSocket) Void用戶登陸密碼錯誤時刪除用戶DeleteAllChatter() Void刪除所有在線用戶InitListCtrlSetting() Void定義鏈表控件InitUserList() Void初始化用戶鏈表SaveUserList(const CObList amp。obList) Void保存用戶信息LoadUserList(CObList amp。obList) Void
點擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1