【正文】
記錄所有注冊用戶和顯示所有當前在線用戶) N 客戶端 主窗體 發(fā)消息 對話框窗體 發(fā)消息 TCP/UDP協(xié)議 14 第 5 章 系統(tǒng)模塊詳細設計 在本次開發(fā)過程中,我主要負責文本聊天、文件傳輸和用戶 管理模塊的設計和實現(xiàn),現(xiàn)詳細地介紹這三個模塊的實現(xiàn)。 圖 42 系統(tǒng)業(yè)務流程圖 系統(tǒng)模塊劃分 由圖 41我們可以看出系統(tǒng)主要分為服務器端和客戶端兩大部分,經(jīng)過商討,我們決定把系統(tǒng)分為六個模塊:服務器模塊、客戶端模塊、語音聊天模塊、文本聊天模塊、文件傳輸模塊、用戶管理模塊。 客戶端功能結(jié)構(gòu)如圖 41所示。 服務器端的功能包括:驗證客戶注冊、添加新用戶、驗證客戶登錄、廣播登錄用戶信息、廣播下線用戶信息。 ( 2)技術可行性分析 開發(fā)所需要的軟硬件平臺已經(jīng)搭建好,并進行了合理而完善的需求分析,做好了充分的前期準備工作,其次因為本程序的平臺將基于 WINDOWS,將要使用網(wǎng)絡通信技術,而 WINDOWS 有完善成熟的網(wǎng)絡通信接口,以及與 C開發(fā)環(huán)境的嚴密契合能力,加之相類似的更大規(guī)模的 INTERNET 通信工具產(chǎn)品也已有例在先,所以這個程序的開發(fā)在技術上是完全可行的。 測試環(huán)境規(guī)定 在開發(fā)過程中由開發(fā)人員自己,也就是我和搭檔莫景順隨時進行內(nèi)部部分白盒測試,在開發(fā)完成以后,自己進行一個全面的白盒測試,然后請同學幫忙進行黑盒測試。并且要求易于維護及擴展。 要求程序?qū)λ\行之系統(tǒng)的硬件條件要求盡可能低,運行時內(nèi)存占用盡可能小,響應速度要盡可能快。 11 程序要有良好的容錯性,當用戶進行非法操作時或者系統(tǒng)本身出現(xiàn)問題時要能以最好的方式退出程序,避免發(fā)生程序假死現(xiàn)象。 性能要求 首先要求程序要完全可靠,可以應付各種由于系統(tǒng)問題產(chǎn)生的錯誤,比如初始網(wǎng)絡失敗,對方突然下線等。 (6)當用戶覺得有必要保存聊天記錄時,提供一個簡單的聊天記錄保存功能。 (4)聊天界面要人性化,下面是發(fā)送框,上面有已有聊天記錄,并借助滾動條看到當次所有的聊天記錄。 (2)一旦有某個網(wǎng)內(nèi)的機器上線了,要有即時通知,并能及時更新用戶界面中的用戶列表。根據(jù)用戶對聊天工具的要求,可分為以下幾點: 操作簡單方便、界面簡潔美觀。局域聊工具就是一個非常好的局域網(wǎng)通信軟件,它可以在職工不移動位置的情況下進行在線聊天、文件傳遞、語音聊天。 XML 的簡單使其易于在任何應用程序中讀寫數(shù)據(jù),這使 XML 很快成為數(shù)據(jù)交換的唯一公共語言,雖然不同的應用軟件也支持其它的數(shù)據(jù)交換格式,但不久之后他們都將支持 XML,那就意味著程序可以更容易的與 Windows、 Mac OS, Linux 以及其他平臺下產(chǎn)生的信息結(jié)合,然后可以很容易加載 XML 數(shù)據(jù)到程序中并分析他,并以 XML 格式輸出結(jié)果。事實上 XML 與其他數(shù)據(jù)表現(xiàn)形式最大的不同是:他極其簡單。擴展標記語言 XML 是一種簡單的數(shù)據(jù)存儲語言,使用一系列簡單的標記描述數(shù)據(jù),而這些標記可以用方便的方式建立,雖然 XML 占用的空間比二進制數(shù)據(jù)要占用更多的空間,但 XML極其簡單易于掌握和使用。 圖 23 客戶機直接通信結(jié)構(gòu)示圖 9 XML 簡介 XML( Extensible Markup Language)即可擴展標記語言,它與 HTML 一樣,都是SGML(Standard Generalized Markup Language,標準通用標記語言 )。具體的通信, 采用 P2P模式,每兩個客戶端要進行連接通信時都直接連通而不用通過服務器來進行信息的中轉(zhuǎn),這樣設計的優(yōu)點是既可以對用戶進行管理,又不會造成服務器的通信負擔。 C/S 模式下 Windows socket 編程示意圖,如圖 22 所示。這兩個類提供了直觀的易于使用的屬性和方法,從而降低了 TCP協(xié)議編程的難度。為了建立面向連接的套接字,服務器端和客戶端必須分別進行編程。在面向連接的套接字中,使用 TCP協(xié)議來建立兩個 IP 地址端點之間的會話。現(xiàn)在的Winsock 已經(jīng)基本上實現(xiàn)了與協(xié)議無關,你可以使用 Winsock 來調(diào)用多種協(xié)議的功能,但較常使用的是 TCP/IP 協(xié)議。一個客戶提出請求后 ,服務進程被“喚醒”并且為客戶提供服務 ,對客戶的請求做出所需要的應答, 如圖 21所示。一個請求總是首先被客戶發(fā)出 ,然后服務器總是被動地接收請求 ,返回客戶需要的結(jié)果。另外它的服務器端還可以將信息集中起來,任 何客戶機都可以通過訪問服務器而獲得所需的信 7 息。Client/Server 結(jié)構(gòu)是當前數(shù)據(jù)庫應用程序中極為流行的一種方式。 C/S 結(jié)構(gòu)與 WINDOWS SOCKETS 網(wǎng)絡編程 通常的通信工具,都采用客戶機 /服務器 (C/S)體系結(jié)構(gòu), C/S 結(jié)構(gòu) 是這樣的一種結(jié)構(gòu):它包括一個客戶機 (或前端 ),一個服務器 (或稱后端 ),客戶機的作用是訪問和處理遠程服務器上的數(shù)據(jù) ,服務器的作用是接收和處理客戶機的數(shù)據(jù)請求。線程的基類是 。 在本質(zhì)上和結(jié) 構(gòu)來說, .NET 是一個多線程的環(huán)境。 .NET 與多線程技術 多線程是為了使得多個線程并行的工作以完成多項任務,以提高系統(tǒng)的效率。 由于 SDK 包含了使用 API 的必 需資料,所以人們也常把僅使用 API 來編寫 Windows 應用程序的開發(fā)方式叫做“ SDK 編程”。具體到我們這個系列教程,我們后面只討論廣義 SDK 的一個子集 —— 即開發(fā) Windows 平臺下的應用程序所使用的 SDK。 Microsoft DirectX SDK 簡介 SDK 是 Software Development Kit 的縮寫,中文意思就是“軟件開發(fā)工具包”。 .NET 提供了一個新的 反射性的 且 面向?qū)ο蟪绦蛟O計 編程界面。 .NET 也為 編程界面 ( API)提供了新功能和開發(fā)工具。 .NET 是微軟為 下一個十年 對 服務器 和 桌上型 軟件工程 邁出的第一步。使用 C語言能夠迅速地架構(gòu)基于 Windows 和Inter 的應用程序和組件,如標準的 Windows 應用程序和控制臺應用程序,編譯后生成的文件擴展名為 EXE;程序庫應用程序,編譯后生成的文件擴展名為 DLL,主要用來共享程序代碼。 5 第 2 章 開發(fā)平臺與相關知識簡介 系統(tǒng)綜合要求 硬件要求: PC機: 2臺或者 2臺以上, RAM256MB 以上, CPU400MHZ 以上,硬盤 40GB 以上、耳麥各 2副 局域網(wǎng) 程序運行環(huán)境: 系統(tǒng)開發(fā)平臺: Microsoft Visual Strdio 2021 Microsoft DirectX SDK (November 2021) 系統(tǒng)開發(fā)語言: C 運行平臺: Window2021, Windows Xp, Windows Server 2021 運行環(huán)境: Microsoft .Net Freamwork 分辨率:最佳效果 1024 768 C 簡介 C(發(fā)音為 C Sharp)是由 微軟 公司所開發(fā)的一種 面向?qū)ο?,且運行于 .NET Framework之上的高級 程序設計語言 。 現(xiàn)有的局域網(wǎng)聊天工具,一般都不具備語音聊天的功能,本軟件集成了語音聊天模塊,用戶可以通過此軟件實現(xiàn)語音互通,提高局域網(wǎng)用戶之間信息傳遞效率以及交流質(zhì)量。這一切,都是以 IP 為基礎的通訊網(wǎng)絡,而非傳統(tǒng)通訊模式的電信服務。同樣是話音業(yè)務,可能是 PSTN 網(wǎng)絡 (傳統(tǒng)電話網(wǎng) )提供的,可能是 Inter 提供的,還可能是有線電視網(wǎng)絡,甚至電力網(wǎng)、煤氣管道網(wǎng)提供的。 隨著互聯(lián)網(wǎng)的不斷發(fā)展,“互聯(lián)網(wǎng)要擔當起通訊大任”的聲音不絕于耳。 Ipmsg 能夠?qū)崿F(xiàn)局域網(wǎng)內(nèi)消息、文件傳遞。局域網(wǎng)聊天軟件因其使用簡單,系統(tǒng)資源消耗少等優(yōu)點,成為各企事業(yè)單位等的局域網(wǎng)內(nèi)廣泛應用的軟件之一。 聊 天工具開發(fā)的目標 本設計的主要工作是設計一個基于 WINDOWS 平臺的局域網(wǎng)即時聊天工具,具體是采用 P2P 模式實現(xiàn)用戶之間的通信,然后闡述本軟件的功能、特點及使用方法,并詳細闡述開發(fā)本軟件所用的相關技術,具體分析本軟 件的各個模塊的功能及實現(xiàn)方法,說明本軟件的設計思想及方法。 網(wǎng) 絡的飛速發(fā)展使網(wǎng)絡應用程序的開發(fā)地位顯的越來越重要,而網(wǎng)絡應用程序的開發(fā)和傳統(tǒng)應用程序的開發(fā)在思想和實現(xiàn)上有很大的區(qū)別,隨著網(wǎng)絡技術和數(shù)據(jù)庫管理系統(tǒng)的發(fā)展, C/S 體系結(jié)構(gòu)在軟件的開發(fā)中越來越流行。一個簡單的聊天室 , 從程序員的觀點來看就是在多個 I/O 端點之間實現(xiàn)多對多的通信。 在互聯(lián)網(wǎng)相當普 及的今天,在互聯(lián)網(wǎng)上聊天對很多“網(wǎng)蟲”來說已經(jīng)是家常便飯了。但這些手段都有些缺點,要么費用太高,要么實時性不強,要么 1次只能和 1位好友進行交流。 隨著網(wǎng)絡的普及化,網(wǎng)絡作為人們相互間溝通與交流聯(lián)系的現(xiàn)代化工具日益重要,可以說現(xiàn)在人們的生活已經(jīng)離不開網(wǎng)絡。 xml。 textchat。 關鍵詞 : 局域網(wǎng); 文本聊天 ; 文件傳輸;可擴展標記語言 ;多線程 2 LAN Chat Tool Design —— Text chat, file transfer and user management Abstract: Along with the highspeed development of the puter work technology, various of applications which are based on work were born, such as Interbased information releasing,munications,data sharing and so on. The development of LAN is the same fast. Because of Some government institutions, enterprises and schools constitute a LAN first ,then join into INTERNET, the realtime LANbased munication tools emerged. this paper proposed a LAN chat tool designing, and then implement it on WINDOWS platform. The design integrated voicechat, textchat and filetransfer and other functions in a client procedure. It used C language for work programming with multithreaded parallel to achieve different tasks, and it used xml to make simple data storage and management e true, and designed a userfriendly and easy to use interface , and it39。本文提出了一個局域網(wǎng)聊天工具的設計,并在 WINDOWS 平臺上加以了實現(xiàn)。很多政府機構(gòu),企業(yè),學校,都是先以一個統(tǒng)一的局域網(wǎng)聯(lián)結(jié)在一起,再分別接入 INTERNET。 I 目錄 局域網(wǎng)聊天工具設計 ..................................................................................................................... 1 —— 文本聊天、文件傳輸及用戶管理 ............................................................................................ 1 LAN Chat Tool Design ................................................................................................................. 2 —— Text chat, file transfer and user management ................................................................ 2 第 1章 引言 ...................................................................................................