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

正文內(nèi)容

c++語言解決局域網(wǎng)聊天系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)-文庫吧

2025-11-02 01:39 本頁面


【正文】 d GUI,it was very easy to use it. And the function is very realizable. At last, it is also easy for expanding. Key words: LAN, instant messaging, client, server, multi thread, share memory, Information 《 用 VC++語言解決局域網(wǎng)聊天系統(tǒng)的 設(shè)計(jì)與 實(shí)現(xiàn) 》 第 5 頁 共 62 頁 1 引 言 課題背景及意義: 近年來,隨著全球信息化進(jìn)程的不斷發(fā)展,網(wǎng)絡(luò)也在飛速發(fā)展。出于高效、快速地處理各種事務(wù)的目的,越來越多的企業(yè)在其 內(nèi)部使用局域網(wǎng)來進(jìn)行工作。在內(nèi)部局域網(wǎng)的幫助下,企業(yè)得以簡化信息流程,提高信息交換的速度,從而提高工作效率。然而,隨著企業(yè)規(guī)模的擴(kuò)大,業(yè)務(wù)量的增加,在局域網(wǎng)上運(yùn)行的應(yīng)用越來越多,如知識(shí)庫、網(wǎng)絡(luò)會(huì)議、數(shù)據(jù)庫應(yīng)用和數(shù)據(jù)的同步與備份等,這些應(yīng)用對(duì)局域網(wǎng)的信息吞吐、處理能力的要求也越來越高。這些在企業(yè)內(nèi)部原有局域網(wǎng)設(shè)計(jì)之初未曾考慮到的新情況的出現(xiàn)使得局域網(wǎng)不堪重負(fù),容易發(fā)生信息阻塞,此時(shí),局域網(wǎng)不但不能提高生產(chǎn)效率,反而成為企業(yè)發(fā)展的瓶頸。 為了解決上述矛盾,人們提出了許多方法。提升網(wǎng)絡(luò)帶寬及增加服務(wù)器的吞吐 能力是解決此矛盾的一種方法。然而,從企業(yè)運(yùn)行的成本方面考慮,無論是單純地提升網(wǎng)絡(luò)帶寬或增加服務(wù)器的吞吐能力都不能從根本上解決局域網(wǎng)資源緊張的問題,對(duì)舊有局域網(wǎng)的大規(guī)模硬件改造反而會(huì)增加企業(yè)的負(fù)擔(dān)。 我在本文中將討論一種基于 Socket 的局域網(wǎng)通信工具的設(shè)計(jì)與實(shí)現(xiàn)方法?;赟ocket 的局域網(wǎng)通信軟件可以為企業(yè)原有的局域網(wǎng)提供一種良好,安全,快速的通信機(jī)制。它的實(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)的各種通信需求。 基于 Socket 的局域網(wǎng)聊天工具是此類局域網(wǎng)通信軟件的具體實(shí)例之一,它很好地詮釋了 Socket 通信的原理,并且在企業(yè)內(nèi)部通信、教學(xué)、討論等應(yīng)用中都具有一定的實(shí)用價(jià)值。它具有信息收發(fā)速度快,保密性好,占用網(wǎng)絡(luò)帶寬資源低,占用服務(wù)器吞吐能力低,易于編程實(shí)現(xiàn)等優(yōu)點(diǎn)。 基于 Socket 的局域網(wǎng)通信軟件應(yīng)用范圍廣闊,不但可以處理傳統(tǒng)的通信需求,而且也能擴(kuò)展以適應(yīng)新型的網(wǎng)絡(luò)應(yīng)用,如網(wǎng)絡(luò)教育,數(shù)據(jù)影音傳輸?shù)?,擁有廣泛的應(yī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 Messanger,Yahoo 通這些國外開發(fā)的產(chǎn)品,還有國產(chǎn)的有名的 ,新浪 UC,LAVALAVA 等,這些工具統(tǒng)統(tǒng)都實(shí)現(xiàn)了廣域網(wǎng)上 的即時(shí)通信,盡管都是即時(shí)通信,實(shí)現(xiàn)了即時(shí)聊天,以及文件傳輸?shù)闹饕δ?,但是也各有各的特色? 《 用 VC++語言解決局域網(wǎng)聊天系統(tǒng)的 設(shè)計(jì)與 實(shí)現(xiàn) 》 第 6 頁 共 62 頁 比如 ICQ 的巨大客戶群, MSN 的個(gè)性化表情, YAHOO 通的易操作性等。而 也具有一個(gè)相當(dāng)方便的屏幕截圖功能,另外就是,所有上述軟件都 實(shí)現(xiàn)了網(wǎng)絡(luò)即時(shí)的視頻,語音聊天功能。這些軟件,在使用方面各有特色,在實(shí)現(xiàn)方面也各有所長,但基于這些產(chǎn)品正在商業(yè)運(yùn)營階段,其實(shí)現(xiàn)方式屬于商業(yè)機(jī)密,具體細(xì)節(jié)不可能得知,但是它在大的方面無非就是各種利用各種平臺(tái)上的網(wǎng)絡(luò)通信接口,建構(gòu)基于下層 TCP/IP,或者UDP/IP 協(xié)議的軟件產(chǎn)品。在局域網(wǎng)內(nèi),這些功能的實(shí)現(xiàn)跟廣域網(wǎng)相比更加簡單,因?yàn)榫钟蚓W(wǎng)的網(wǎng)絡(luò)結(jié)構(gòu)本身比廣域網(wǎng)要復(fù)雜,但是又可以借些理解網(wǎng)絡(luò)協(xié)議,以及網(wǎng)絡(luò)通信工具的實(shí)現(xiàn)原理,所以仍然極具研究價(jià)值。 本文的主要工作: 本文主要工作是設(shè)計(jì)一個(gè)基于 WINDOWS 平臺(tái)的局域網(wǎng)即時(shí)聊天工具,然后闡述本軟件的功能、特點(diǎn)及使用方法,并詳細(xì)闡述開發(fā)本軟件所用的相關(guān)技術(shù),具體分析本軟件的各個(gè)模塊的功能及實(shí)現(xiàn)方法,說明本軟件的設(shè)計(jì)思想及方法。 開發(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)的選擇必須恬當(dāng);開發(fā)出的程序可以在盡可能多的平臺(tái)上運(yùn)行;要求運(yùn)行機(jī)配置盡可能 低檔。對(duì)此,我們選擇的硬件環(huán)境和軟件環(huán)境如下: (1) 硬件環(huán)境 開發(fā)該系統(tǒng)應(yīng)盡可能采用高檔的硬件。因此,在應(yīng)用時(shí)應(yīng)采用更好的配置。 處理器: Intel Pentium PIII 或更高處理器。 內(nèi)存: 128MB 或更高。 網(wǎng)絡(luò):局域網(wǎng)。 (2) 軟件環(huán)境 選擇好的操作系統(tǒng)和好的編程語言是系統(tǒng)優(yōu)劣的關(guān)鍵,我們要求系統(tǒng)在盡可能多的環(huán)境下運(yùn)行,故選擇 Windows XP 平臺(tái),對(duì)于一些無法在 98 中運(yùn)行的 API 函數(shù),一律不采用,并采取優(yōu)化的算法編寫程序。因 具 有友好的集成開發(fā)界面、面向?qū)ο蟮目梢暬_發(fā)模式、良好的數(shù)據(jù)庫及多媒體應(yīng)用支持以及高效的軟件開發(fā)與程序運(yùn)行 ,功能更大,開發(fā)效率更高,不僅是網(wǎng)絡(luò)環(huán)境下的優(yōu)秀前端開發(fā)語言和工具,也是服務(wù)器端Web 編程的優(yōu)秀工具。加之我本人對(duì)本系統(tǒng)的操作最為熟練,所以選擇該平臺(tái)為開發(fā)環(huán)境。 《 用 VC++語言解決局域網(wǎng)聊天系統(tǒng)的 設(shè)計(jì)與 實(shí)現(xiàn) 》 第 7 頁 共 62 頁 操作系統(tǒng): Windows XP 或 Window2021。 開發(fā)工具: VC++。 WINDOWS SOCKETS 網(wǎng)絡(luò)編程接口概述 既然選定了 WINDOWS 平臺(tái),而又要開發(fā)網(wǎng)絡(luò)通信程序,所以可以選擇 WINDOWS的 SOCKETS 編程接口, Windows Sockets 是一套開放的、支持多種協(xié)議的 Windows 下的網(wǎng)絡(luò)編程接口?,F(xiàn)在的 Winsock 已經(jīng)基本上實(shí)現(xiàn)了與協(xié)議無關(guān),你可以使用 Winsock來調(diào)用多種協(xié)議的功能,但較常使用的是 TCP/IP 協(xié)議。 Winsockets 無疑是我們進(jìn)行網(wǎng)絡(luò)編程的利器 。 VC++ 開發(fā)平臺(tái)簡介 開發(fā)平臺(tái)我選用了 ,因?yàn)橐恢币詠矶际褂?VC6 進(jìn)行學(xué)習(xí),對(duì)這個(gè) IDE 最為熟悉,再者 VC 同樣是由微軟開發(fā)的系統(tǒng),與其操作系統(tǒng),網(wǎng)絡(luò)接口具有最為密切的契合優(yōu)點(diǎn),所以選擇了 。 2 需求分析及可行性研究 需求分析: 時(shí)間要求 本項(xiàng)目作為大學(xué) 課程設(shè)計(jì) 題目,從 6 月 26 號(hào)接受選題開始,在 7 月 2 號(hào)之前完成系統(tǒng)設(shè)計(jì),編碼實(shí)現(xiàn)工作,在 7 月 5 號(hào)之前完成 課程設(shè)計(jì) 論文初稿, 7 月 9 號(hào)之前最終完成 課程設(shè)計(jì) 。 功能要求 ( 1)用戶端之間的信息發(fā)送,本程序需要實(shí)現(xiàn)的最基本的功能 ( 2)在線用戶主機(jī) 名 列表的維護(hù)。 ( 3)在 C/S 模式中,服務(wù)器與客戶端是相互依賴的。在客戶端啟用以后,需要查看服務(wù)器端是否在線,服務(wù)器在線才能正常使用客戶端,如果服務(wù)器不在線,則在 檢測一定次數(shù)以后自動(dòng)退出客戶端程序。在使用過程中,客戶端在指定時(shí)間內(nèi)未向服務(wù)器端發(fā)送信息的,服務(wù)器認(rèn)為客戶端下線;客戶端在一定時(shí)間內(nèi)未收到服務(wù)器端信息的,認(rèn)為服務(wù)器已經(jīng)下線,則提示用戶并建議退出,在用戶一定時(shí)間后沒有退出的則自動(dòng)關(guān)閉客戶端程序。 系統(tǒng)基本流程圖 《 用 VC++語言解決局域網(wǎng)聊天系統(tǒng)的 設(shè)計(jì)與 實(shí)現(xiàn) 》 第 8 頁 共 62 頁 圖 21 聊天系統(tǒng)工作流程圖 性能要求 首先要求程序要完全可靠,可以應(yīng)付種種由于系統(tǒng)問題產(chǎn)生的錯(cuò)誤,比如初始網(wǎng)絡(luò)失敗,對(duì)方突然下線等。要求提前設(shè)想到類似的盡可能多的可能發(fā)生的事件,做出相應(yīng)的應(yīng)對(duì)措施,并向用戶提交簡單易 懂清晰明白的提示信息。 程序要有良好的容錯(cuò)性,當(dāng)用戶進(jìn)行非法操作時(shí)或者系統(tǒng)本身出現(xiàn)問題時(shí)要能以最好的方式退出程序,避免發(fā)生程序假死現(xiàn)象。 開發(fā)文檔要有好的易理解性,如果系統(tǒng)又要交由別人接手開發(fā),或者自己由于種種原因需要進(jìn)行二次開發(fā),那么要保證以后能夠清晰的理解整個(gè)系統(tǒng)的設(shè)計(jì)思路以及實(shí)現(xiàn)細(xì)節(jié)。 要求程序?qū)λ\(yùn)行之系統(tǒng)的硬件條件要求盡可能低,運(yùn)行時(shí)內(nèi)存占用盡可能小,響應(yīng)速度要盡可能快。并且不發(fā)生內(nèi)存泄漏之類影響系統(tǒng)運(yùn)行的錯(cuò)誤事件。并且要求易于維護(hù)及擴(kuò)展。所以應(yīng)該采用模塊化開發(fā),各個(gè)模塊之間不要有太多的聯(lián)系,以免 維護(hù)困難。 測試環(huán)境規(guī)定 在開發(fā)完成以后,自己進(jìn)行一個(gè)全面的測試 。 可行性研究: ( 1)成本可行性分析 因?yàn)楸拒浖蛔鲩_發(fā)學(xué)習(xí)使用,所以暫且不考慮經(jīng)濟(jì)成本及盈利問題。 ( 2)技術(shù)可行性分析 首先我已經(jīng)搭建好開發(fā)所需要的軟硬件平臺(tái),并進(jìn)行了合理而完善的需求分析,做好了充分的前期準(zhǔn)備工作,其次因?yàn)楸境绦虻钠脚_(tái)將基于 WINDOWS,將要使用網(wǎng)絡(luò)通信技術(shù),而 WINDOWS 有完善成熟的網(wǎng)絡(luò)通信接口,以及與 VC 開發(fā)環(huán)境的嚴(yán)密契合 《 用 VC++語言解決局域網(wǎng)聊天系統(tǒng)的 設(shè)計(jì)與 實(shí)現(xiàn) 》 第 9 頁 共 62 頁 能力,加之相類似的更大規(guī)模的 INTERNET 通信工具產(chǎn)品也已有例在先 ,所以這個(gè)程序的開發(fā)可行性在技術(shù)上是完全可行的。 3 相關(guān)開發(fā)技術(shù)的原理性說明 win32 編程原理及 MFC框架 WIN32 編程原理 所謂的 Win32 開發(fā),就是在 C 語言的層面上,直接使用 Win32 API 開發(fā) Windows應(yīng)用程序或者系統(tǒng)程序。雖說現(xiàn)在直接用 Win32 API 開發(fā)應(yīng)用程序的人已經(jīng)不多了,但是深入理解 Windows 系統(tǒng)程序設(shè)計(jì)原理,仍然是成為 Windows 開發(fā)高手的良好途徑。所謂的 Win32,其實(shí)是一個(gè) API 規(guī)范,與 UNIX 系統(tǒng)編程接口標(biāo)準(zhǔn) POSIX 是相對(duì)應(yīng)的。下面是 進(jìn)行直接的 WIN32 SDK 方式編程的基本思路或者說是一個(gè)框架: 一個(gè) WINDOWS 程序分為程序代碼和 UI(User Interface 用戶接口 )資源兩大部份,兩部份最后以 RC 編譯程序整合為一個(gè)完整的 EXE 文件。所謂 UI 資源是指功能菜單、對(duì)話框、程序圖標(biāo)、光標(biāo)形狀等等東西。這些 UI 資源的實(shí)際內(nèi)容(二進(jìn)制代碼)系借助各種工具產(chǎn)生,并以各種擴(kuò)展名存在,如 .ico .bmp .cur 等等。程序員必須在一個(gè)所謂的資源描述檔( .rc )中描述它們。 RC 編譯器( )讀取 RC 文件的描述后將所有 UI 資源 文件集中制作出一個(gè) .RES 文件,再與程序代碼結(jié)合在一起,這才是一個(gè)完整的 Windows 可執(zhí)行文件。 與控制臺(tái)程序相同的是,一個(gè) WIN32 程序也必須有一個(gè)程序入口點(diǎn),但是在這兒它不再叫 main(),而叫做 WinMain(),當(dāng) WINDOWS的 SHELL檢測到用戶欲執(zhí)行一個(gè) EXE程序,就會(huì)調(diào)用加載器把程序進(jìn)行加載,然后調(diào)用 C startup code,后者再調(diào)用 WinMain(),程序的執(zhí)行就開始了, WinMain()函數(shù)的原型為: int CALLBACK WinMain( HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow); 《 用 VC++語言解決局域網(wǎng)聊天系統(tǒng)的 設(shè)計(jì)與 實(shí)現(xiàn) 》 第 10 頁 共 62 頁 圖 31 32 位 WINDOWS 程序的開發(fā)流程 下面程序必須進(jìn)行必要的初始化工作-產(chǎn)生窗口,第一步是注冊(cè)一個(gè)窗口類:用API 函數(shù): RegisterClass(),而這個(gè)函數(shù)需要一個(gè)已經(jīng)定義好的系統(tǒng)結(jié)構(gòu): WNDCLASS,這個(gè)結(jié)構(gòu)里面定義了窗口的種種屬性,需要自己定義,但是許多屬性都有默認(rèn)值。然后調(diào)用 CreateWindow()函數(shù)來產(chǎn)生具有上述定義屬性的已注冊(cè)窗口,但是需要注意的是它只是 生成窗口,但并不顯示之,所以還需要調(diào)用一個(gè)函數(shù) ShowWindow()將它顯示在屏幕上,做完這些初始化工作以后,系統(tǒng)將進(jìn)入消息循環(huán): while (GetMessage(amp。msg, NULL, 0, 0)){ TranslateMessage(amp。msg)。 DispatchMessage(amp。msg)。} 當(dāng)消息循環(huán)捕捉到消息以后將交由窗口函數(shù) WndProc()窗口函數(shù)進(jìn)行相應(yīng)的處理。這樣,一個(gè)基于消息事件驅(qū)動(dòng)的 WIN32 程序的雛形就建立了起來。 MFC 框架 由上面的介紹可以看出,直接用 API 函數(shù)開發(fā)一個(gè) WIN32 程序是相當(dāng)麻煩的,有好多既定的重復(fù)性的工作要做,所以微軟就用 C++的類機(jī)制將絕大部分的 API 函數(shù)進(jìn)行了封裝,構(gòu)成了類,并且將基本的流程也封裝在類機(jī)制下面,大大簡化了 WIN32 開的的復(fù)雜性,尤其是在開發(fā)比較大型程序的時(shí)候這個(gè)便宜性更會(huì)得以體現(xiàn)。它就是Microsoft Foundation Classes,簡稱為 MFC,可以說它是 VC 開
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1