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

正文內(nèi)容

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

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

【正文】 還要感謝各位 任課 老師, 老師們 深厚的學(xué)術(shù)功底、旺盛的工作熱情和平易近人的態(tài)度是我學(xué)習(xí)的榜樣。通過這次畢業(yè)設(shè)計(jì) ,我更深刻的認(rèn)識(shí)到了教學(xué)實(shí)踐在大學(xué)課程中的重要性,同時(shí)也發(fā)覺到了自己在學(xué)習(xí)方面存在的不足之處, 在以后 的學(xué)習(xí)中我會(huì)努力改進(jìn)這些不足、不斷提高自己的動(dòng)手實(shí)踐能力 。 勤 動(dòng)手的重要性,在以前我總是有“只學(xué)不練”的傾向,導(dǎo)致動(dòng)手能力得不到提高,在這次的一次次編寫代碼、調(diào)試代碼的過程中,我才明白“ 代碼不是寫出來的,是調(diào)出來的”的道理。查閱資料和閱讀相關(guān)文獻(xiàn)的重要性。用戶的 權(quán)限設(shè)置應(yīng)更加嚴(yán)謹(jǐn),層次更加清晰,多功能的實(shí)現(xiàn)不同權(quán)限的用戶對(duì)系統(tǒng)不同功能的操作 。 在文字傳送的同時(shí)增加表情發(fā)送的功能 ; 在這段時(shí)間里我學(xué)到了很多以前沒有學(xué)到的知識(shí),同時(shí)也將以前所學(xué)過的知識(shí)運(yùn)用到實(shí)踐項(xiàng)目中,在提高理論知識(shí)的基礎(chǔ)上,也充分地鍛煉了自己的動(dòng)手能力。 在畢業(yè)設(shè)計(jì)的初期階段,我主要學(xué)習(xí)了與本課題相關(guān)的理論知識(shí),包括: VC++的設(shè)置與開發(fā), MFC 下的軟件開發(fā)過程等 相關(guān)技術(shù), socket 編程技術(shù)和多線程開發(fā)技術(shù),并完成客戶端和服務(wù)器端文字信息傳遞實(shí)驗(yàn)。 經(jīng)過以上測(cè)試,系統(tǒng)基本完成所需功能。 在循環(huán)的邊界和運(yùn)行的界限內(nèi)執(zhí)行循環(huán)體。通過在不同點(diǎn)檢查程序狀態(tài),確定實(shí)際狀態(tài)是否與預(yù)期的狀態(tài)一 致。 黑盒測(cè)試是以用戶的角度,從輸入數(shù)據(jù)與輸出數(shù)據(jù)的對(duì)應(yīng)關(guān)系出發(fā)進(jìn)行測(cè)試的。 黑盒測(cè)試: 黑盒測(cè)試也稱功能測(cè)試,它是通過測(cè)試來檢測(cè)每個(gè)功能是否都能正常使用。 從上述規(guī)則可以看出,測(cè)試的 正確定義是“為了發(fā)現(xiàn)程序中的錯(cuò)誤而執(zhí)行程序的過程”。 ? CClientLoginDlg 類:派生與 CDialog 類,用與創(chuàng)建服務(wù)器對(duì)話框。userInfo) 無 在線 /離線窗口 CChatDlg(CWnd 無 顯示離線聊天窗口 27 *pParent,CChatPacket *pPacket) ~CChatDlg() 無 析構(gòu)函數(shù) PreTranslateMessage(MSG *pMsg) BOOL 處理鍵盤消息 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。 ( 2) 顯示離線消息窗口。 26 表 成員函數(shù) 函 數(shù) 名 稱 返 回 值 功 能 CClientDlg(CWnd *pParent=NULL) 無 構(gòu)造函數(shù) ~CClientDlg() 無 析夠函數(shù) Init() BOOL 初始化 InitListCtrlSetting() BOOL 初始列表控件 ConnectToServer() BOOL 連接服務(wù)器 BegingListen() BOOL 監(jiān)聽 ProcessPendingAccept() Void 接受對(duì)方連接 ProcessPendingRead() Void 接受數(shù)據(jù)包 SendPacket(CChatPacket amp。userInfo) Void 保存用戶狀態(tài)信息 19 GetUserInfo() CUserInfo 獲取用戶信息 OnReceive(int nErrorCode) Void 接收數(shù)據(jù) OnClose(int nErrorCode) Void 關(guān)閉套接字 ? CServerAddressDlg: 用與設(shè)置服務(wù)器地址和斷口。當(dāng)客戶端連接服務(wù)器時(shí),OnAccept()函數(shù)被調(diào)用。packet, CClientSocket*pClientSocket) BOOL 轉(zhuǎn)發(fā)離線消息 UpdateServerListCtl(const CObList amp。obList) Void 讀取用戶消息 SendUserList() Void 發(fā)送用戶鏈表 CopyUserList(CObList amp。 ? MESSAGE:客戶端發(fā)送的消息 ? USERLIST:用戶列表 ? SERVERMSG:服務(wù)器發(fā)送的消息 ? UNKNOWN:未知類型 表 33: CChatPakcet 類成員函數(shù) 函 數(shù) 名 稱 返 回 值 功 能 CChatPacket() 無 構(gòu)造函數(shù) ~CChatPacket() 無 析夠函數(shù) Init() Viod 初始化成員變量 Serialize(CArchive amp。ar) void 序列化 Operator=(const CUserInfoamp。 ? ONLINE:在線狀態(tài) ? OFFLINE:離線狀態(tài) ? LOGIN:登陸狀態(tài) ? UNKNOWN:未知狀態(tài),初始化狀態(tài)。 在線用戶之間可以直接發(fā)送消息;對(duì)離線離線用戶需要服務(wù)器轉(zhuǎn)發(fā)。 圖 36 局域網(wǎng)聊天系統(tǒng)功能 模塊 圖 共享數(shù)據(jù)類設(shè)計(jì) A.用戶設(shè)計(jì): 1.用戶狀態(tài)設(shè)計(jì) 客戶端與服務(wù)器端都擁有成員列表。用戶從客戶端進(jìn)入到本系統(tǒng)前,將實(shí)現(xiàn)統(tǒng)一的用戶登錄驗(yàn)證機(jī)制。 關(guān)系圖如圖 所示: 11 圖 關(guān)系功能圖 系統(tǒng)設(shè)計(jì) 設(shè)計(jì) 原則 考慮到系統(tǒng)的可重用性和伸縮性,需要將本系統(tǒng)的網(wǎng)絡(luò)通信底層和應(yīng)用系統(tǒng)分離開。 ( 5) 驗(yàn)證密碼 。 服務(wù) 器端實(shí)現(xiàn)功能: ( 1) 維護(hù)聊天室成員列表:包括接受新成員,刪除已有成員。 ( 3) 更新成員列表,當(dāng)其他成員加入或者偶成員被刪除時(shí),客戶端及時(shí)更新成員列表。 本 系統(tǒng)支持的活動(dòng)列表如下: ( 1) 配置服務(wù)器, 設(shè)置 IP 及端 ; ( 2) 開啟服務(wù)器; ( 3) 對(duì)離線用戶進(jìn) 行刪除管理; ( 4) 用戶登陸系統(tǒng); ( 5) 用戶與系統(tǒng)交互,進(jìn)行文字傳送 ; 10 ( 6) 用戶好友 登陸后 ,自動(dòng) 刷新列表; ( 7) 傳送文字,當(dāng)好友不在線時(shí),發(fā)送離線消息 ; ( 8) 上線接收離線消息; 需求分析 該聊天 程序分為服務(wù)器端和課戶端兩個(gè)部分。因?yàn)榉?wù)器任何時(shí)候都可能發(fā)送信息到客戶端,因此,客戶端和服務(wù)器一旦建立連接,必須能讓服務(wù)器在以后發(fā)送中尋找定位到這個(gè)連接 。 在 基于 Socket 的聊天系統(tǒng) , 客戶端和服務(wù)器必須保持隨時(shí)隨地的連接。在基于 Socket 的聊天系統(tǒng)中, 主要有兩種角色:服務(wù)器和客戶端,不同的客戶端登陸集中式的服務(wù)器,通過服務(wù)器將一個(gè)客戶端發(fā)出的信息推送到其他所有客戶端。而隨著互聯(lián)網(wǎng)的飛速發(fā)展,移動(dòng)辦公和分布式辦公越來越普及,這需要我們的系統(tǒng)具有擴(kuò)展性。由于服務(wù)器連接個(gè)數(shù)和數(shù)據(jù)通信量的限制,這種結(jié)構(gòu)的軟件適于在用戶數(shù)目不多的局域網(wǎng)內(nèi)使用。 面 向連接的( TCP) 連接過程 8 Client/Server 結(jié)構(gòu) (客戶機(jī) /服務(wù)器模式) Client/Server 結(jié)構(gòu) ( C/S 結(jié)構(gòu) )是大家熟知的客戶機(jī)和服務(wù)器結(jié)構(gòu)。 端口是一個(gè)軟件結(jié)構(gòu),被客戶程序或服務(wù)進(jìn)程用來發(fā)送和接收信息。 兩個(gè)系統(tǒng)間的多重連接是 這樣相互確認(rèn)并協(xié) 調(diào)一致 的, TCP或 UDP連接唯一地使用每個(gè)信息中的如下四項(xiàng)進(jìn)行確認(rèn): 應(yīng)用進(jìn)程 WSAAsyncSelect 線程繼續(xù)運(yùn)行 Recv() 復(fù)制數(shù)據(jù)期間 阻塞 處理數(shù)據(jù) 內(nèi)核 等待數(shù) 據(jù) 數(shù)據(jù)準(zhǔn)備好 復(fù)制數(shù)據(jù) 將數(shù)據(jù)復(fù)制到 擁護(hù)空間 完成復(fù)制 系統(tǒng)調(diào)用 返回 消息 系統(tǒng)調(diào)用 返回成功指示 7 源 IP 地址 發(fā)送包的 IP 地址。 TCP 將包排序并進(jìn)行錯(cuò)誤檢查,同時(shí)實(shí)現(xiàn)虛電路間的連接。 IP 層接收由更低層(網(wǎng)絡(luò)接口層例如以太網(wǎng)設(shè)備驅(qū)動(dòng)程序)發(fā)來的數(shù)據(jù)包,并把該數(shù)據(jù)包發(fā)送到更高層 TCP 或 UDP 層;相反, IP 層也把從 TCP 或 UDP 層接收來的數(shù)據(jù)包傳送到更低層。在這種情況下,在聲明感興趣的網(wǎng)絡(luò)事件時(shí),你必須提供一個(gè) 通知時(shí) 使用的 窗口句柄 。 Windows Sockets 又利用下層的網(wǎng)絡(luò) 通訊協(xié)議功能和操作系統(tǒng)調(diào)用實(shí)現(xiàn)實(shí)際的通訊工作。 現(xiàn)在的 Winsock 已經(jīng)基本上實(shí)現(xiàn)了與協(xié)議無關(guān),你可以使用 Winsock 來調(diào)用多種協(xié)議的功能,但較常使用的是 TCP/IP 協(xié)議。 Visual C++是功能最為強(qiáng)大可視化開發(fā)工具,它不僅支持傳統(tǒng)的軟件開發(fā)方法,更重要的是它能支持面向?qū)ο?、可視化的開發(fā)風(fēng)格。 開發(fā)平臺(tái): Microsoft Visual C++ 網(wǎng)絡(luò):局域網(wǎng) 開發(fā)該系統(tǒng)應(yīng)盡可能采用高檔的硬件。 3 2 系統(tǒng)開發(fā)環(huán)境和關(guān)鍵技術(shù) 開發(fā)環(huán)境 我所設(shè)計(jì)的是一個(gè)面向中小型機(jī)構(gòu)內(nèi)部通信需求的局域網(wǎng)即時(shí)信息軟件,要在短時(shí)間內(nèi)開發(fā)出來并且要滿足客戶要求,無論是硬件還是軟件都要選擇合適 ,要求如 下:開發(fā)設(shè)備應(yīng)該完備;開發(fā)機(jī)器的性能必須穩(wěn)定;操作系統(tǒng)的選擇應(yīng)該 適當(dāng) ;開發(fā)出的程序可以在盡可能多的平臺(tái)上運(yùn)行;要求運(yùn)行機(jī)配置盡可 能低檔。對(duì)系統(tǒng)的結(jié)構(gòu)進(jìn)行 設(shè)計(jì),設(shè)計(jì)共享數(shù)據(jù)結(jié)構(gòu)。 第 1 章對(duì)本次課題的背景及意義、課題現(xiàn)狀、課題內(nèi)容與目標(biāo)進(jìn)行了深入的闡述。 2 系統(tǒng) 內(nèi)容與目標(biāo) 本課題 主要研究的是局域網(wǎng)聊天軟件,此 聊天軟件分為服務(wù)器程序和客戶端程序,本課題 的目標(biāo)是能實(shí)現(xiàn) 用戶在客戶端與服務(wù)器端傳遞文字信息。 系統(tǒng) 現(xiàn)狀 基于局域網(wǎng)的即時(shí)通信工具,實(shí)際上是互聯(lián)網(wǎng)即時(shí)通信工具的一個(gè)小規(guī)模版本,廣域網(wǎng)上的即時(shí)通信工具,如今一般采用 UDP 或者 TCP 協(xié)議體系來實(shí)現(xiàn) ,開發(fā)技術(shù)已經(jīng)比較成熟,比如較早的 ICQ, MSN Messenger, Yahoo。它的實(shí)現(xiàn)無需對(duì)企業(yè)原有的局域網(wǎng)硬件進(jìn)行任何改動(dòng),具有實(shí)現(xiàn)成本低廉的優(yōu)點(diǎn),它的使用能有效地降低局域網(wǎng)通信負(fù)荷,提高局域網(wǎng)的使用效率,可以很好地解決企業(yè)內(nèi)部局域網(wǎng)的各種通信需求。然而,隨著企業(yè)規(guī)模的擴(kuò)大,業(yè)務(wù)量的增加, 企業(yè)內(nèi)部的信息越來越私密,企業(yè)只希望員工通過內(nèi)部局域網(wǎng)進(jìn)行溝通與交流,避免企業(yè)內(nèi)部機(jī)密通過 Inter 泄露到外部。 該軟件能夠幫助企業(yè)在 局域網(wǎng)內(nèi) 搭建起自己的聊天系統(tǒng),避免企業(yè)內(nèi)部員工使用類似 等軟件泄露內(nèi)部信息,但是該軟件 只實(shí)現(xiàn)了聊天的基本功能, 還有很多不足之處需要改進(jìn)。 本論文提出一個(gè)運(yùn)行于 VC 平臺(tái)上的局域網(wǎng)聊天軟件的解決方案。該聊天軟件包括服務(wù)器端和客戶端兩個(gè)模塊, 客戶端通過服務(wù)器端進(jìn)行通信 。 關(guān)鍵字 : 局域網(wǎng) 、 即時(shí)通信 、 套接字 、異步模式 III An instant messaging chat system based of LAN Abstract Along with the highspeed development of the puter science and Inter, chatting on line has been an important method in our munication. Comparing with Email and telephone, the chatline service is more realtime and effective. This thesis proposes a solution of a LAN chatting software based on C++ language, which is operated on the VC platform. This chatting software includes two modules: the server and the client, which can municate with each other. The server module mainly pletes the sever device’s configuration. The client module mainly pletes the users’ login, reg
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1