飛鴿傳書軟件的設(shè)計與測試_第1頁
飛鴿傳書軟件的設(shè)計與測試_第2頁
飛鴿傳書軟件的設(shè)計與測試_第3頁
飛鴿傳書軟件的設(shè)計與測試_第4頁
飛鴿傳書軟件的設(shè)計與測試_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、飛鴿傳書軟件的設(shè)計與測試飛鴿傳書軟件的設(shè)計與測試 摘摘 要要 網(wǎng)絡(luò)通訊在當(dāng)今已經(jīng)不算新鮮事物,但大多數(shù)網(wǎng)絡(luò)通訊都需要借助 Internet 上的服務(wù)器,這就給那些具有大規(guī)模內(nèi)部網(wǎng)絡(luò)的用戶造成了許多問題, 如浪費(fèi)網(wǎng)絡(luò)資源、遭遇到網(wǎng)絡(luò)攻擊、傳播的病毒、破壞防御系統(tǒng)等等。由于互 連網(wǎng)上的網(wǎng)絡(luò)通訊工具給企業(yè)內(nèi)部信息交流帶來了不便,所以為了方便內(nèi)部網(wǎng) 絡(luò)的用戶之間的溝通,需要開發(fā)一個基于局域網(wǎng)的信息收發(fā)系統(tǒng)的即時通訊工 具,實(shí)現(xiàn)在內(nèi)部網(wǎng)絡(luò)中進(jìn)行信息的交流。本課題設(shè)計主要針對局域網(wǎng)通訊而開 發(fā)設(shè)計的,采用的是 C/S 構(gòu)架,類似飛鴿傳書系統(tǒng),來實(shí)現(xiàn)聊天、文件傳輸功 能,并借助一些網(wǎng)絡(luò)通訊組件,成功的實(shí)現(xiàn)了

2、在局域網(wǎng)上的即時通訊。 本論文的目標(biāo)是設(shè)計一個類似飛鴿傳輸?shù)木钟蚓W(wǎng)通信軟件,并分析它在其 領(lǐng)域的優(yōu)勢。本設(shè)計以 C 編寫,能在 windows 2000/net/xp 等環(huán)境下運(yùn)行。設(shè)計 共分為五大模塊,分別是:首先,介紹選題背景及意義和國內(nèi)外研究現(xiàn)狀;其 次,介紹 TCP/IP 點(diǎn)對點(diǎn)協(xié)議技術(shù),C/S 架構(gòu)和 SOCKET 網(wǎng)絡(luò)編程技術(shù);再次, 對當(dāng)前局域網(wǎng)文件傳輸進(jìn)行需求分析并提出解決方案;然后,根據(jù)解決方案對 系統(tǒng)進(jìn)行設(shè)計;最后,對工作計劃統(tǒng)計以及分析系統(tǒng)進(jìn)行測試并得到測試結(jié)果。 關(guān)鍵詞關(guān)鍵詞:聊天;傳輸;socket;飛鴿傳書;C/S 結(jié)構(gòu) Design and Implementat

3、ion IP Messenger Based on LAN Abstract The network communication already do not calculate the new things now, but the majority network communication all need to be support by the server on the Internet, this make these user have the large-scale internal network who many problems, such as waste netwo

4、rk resources, be attacked by network, dissemination virus, destruction defense system and so on. Because the interconnection network communication facilities on the interior communication brought inconveniently for the enterprise, in order to facilitate internal communication between network users,

5、needs to develop one based on the local of instant message area network information receiving and dispatching system instant message facilities, realizes carries on the information which network the exchange. This topic design mainly aims at the local area network communication to develop the design

6、, uses is the C/S skeleton,like IP Messenger, for chat and files transmission. LAN against the text chat, documents and folders transmission, the design of a fake IP Messenger of LAN software, and analyze it in their areas of advantage. The design is developed by C program it can make in the cnviron

7、ment of windows 2000/net/xp of topic selection, in the environment The design altogether divides into five big modules, respectively is: First, introduction selected topic background and significance and domestic and foreign research present situation; Second, introduces the TCP/IP point to point pr

8、otocol technology; C/S construction technique and sockt network programming technology; Third, carries on the demand of the current local area network file transfer to analyze and propose the solution; Fourth, carries on the design according to the solution to the system; Fifth, statistic the work p

9、lan, awalys and test the system and obtains the testnesult. Key words: Chat;transmission; socket; C/S skeleton;IP Messenger 目目 錄錄 論文總頁數(shù):20 頁 1引言.1 1.1 課題背景.1 1.2 本課題主要研究背景.1 1.3 本課題主要研究思路和方法.1 1.4 研究項(xiàng)目的目的以及意義.2 1.5 WINSOCKET 的尋址方式.2 2系統(tǒng)需求分析.2 2.1 系統(tǒng)設(shè)計目標(biāo).2 2.2 系統(tǒng)總體需求分析.3 2.3 組織結(jié)構(gòu)的分析.3 2.3.1 開發(fā)運(yùn)行環(huán)境.3

10、2.3.2 系統(tǒng)開發(fā)語言.4 3理論知識.4 3.1 C/S 軟件架構(gòu)技術(shù).4 3.2 用戶數(shù)據(jù)報協(xié)議(UDP) .4 3.3 單播、廣播、組播淺析.5 4系統(tǒng)設(shè)計.5 4.1 文字聊天模塊的整體構(gòu)架.5 4.2 文件傳輸模塊的主要流程圖.6 4.3 系統(tǒng)的主要功能模塊.6 4.3.1 文字聊天的主登錄界面.6 4.3.2 文字聊天信息的封裝.9 4.3.3 聊天信息的加鎖.10 4.3.4 文件傳輸?shù)慕缑?12 4.3.5 用戶密封或加鎖傳輸文件.15 5系統(tǒng)測試.17 5.1 測試環(huán)境.17 5.2 測試結(jié)果.17 結(jié) 論.17 參考文獻(xiàn).18 1 1引言引言 1.11.1 課題背景課題背

11、景 當(dāng)時間走向 21 世紀(jì),當(dāng)今時代也由工業(yè)經(jīng)濟(jì)漸漸成為了知識經(jīng)濟(jì)、信息經(jīng) 濟(jì)的時代。信息的需求量的不停增加,促使了計算機(jī)通信的日新月異!雖然網(wǎng) 絡(luò)的使用頻率與使用的范圍都越來越廣泛,但是人們使用的網(wǎng)絡(luò)的用途主要的 還是只有兩個:(1)相互之間的溝通,(2)資源共享。 局域網(wǎng)作為網(wǎng)絡(luò)的一個重要組成部分,它不但用戶與外界連接的樞紐,同 時也是近距離用戶之間溝通與資源共享的一個重要途徑。在這種情況下,如何 使局域網(wǎng)內(nèi)的用戶便捷的勾通,以及快速的資源共享,也就成為了人們對網(wǎng)絡(luò) 研究的重點(diǎn)之一。 本系統(tǒng)仿飛鴿傳輸,是一個局域網(wǎng)內(nèi)的通迅工具,主要通過 Winsockt 完成。 它據(jù)有的功能有: (1)局

12、域網(wǎng)內(nèi)用戶間簡單的文字聊天功能; (2)局域網(wǎng)內(nèi)用戶間相互的文件、文件夾傳輸。 1.21.2 本課題主要研究背景本課題主要研究背景 隨著計算機(jī)和通訊技術(shù)的發(fā)展,計算機(jī)的網(wǎng)絡(luò)化已經(jīng)滲透到各個應(yīng)用領(lǐng)域, 尤其是以 TCP/IP 協(xié)議之間的網(wǎng)絡(luò)互連發(fā)展很快,計算機(jī)應(yīng)用系統(tǒng)的開發(fā)由傳統(tǒng) 的單機(jī)方式轉(zhuǎn)向到了網(wǎng)絡(luò)環(huán)境的開發(fā)。 大部分編程語言都提供了基于 WindowsSockets 網(wǎng)絡(luò)編程接口的 Win socket 控件,它使開發(fā) TCP/IP 通訊變得簡單方便。 網(wǎng)絡(luò)之間進(jìn)行數(shù)據(jù)通訊時,使用地址來標(biāo)識網(wǎng)絡(luò)中的計算機(jī),有了地址以 后,數(shù)據(jù)才會準(zhǔn)確地發(fā)送到地址所指向的計算機(jī)。TCP/IP 協(xié)議使用 IP

13、 地址為 網(wǎng)絡(luò)中計算機(jī)的標(biāo)識,而且每臺計算機(jī)的 IP 地址是唯一的,一般情況下,每臺 計算機(jī)運(yùn)行的程序不止一個,因此要在應(yīng)用程序中建立連接的話,還需要一個 地址標(biāo)識。 在 TCP/IP 協(xié)議書中使用端口(PORT)作為計算機(jī)上運(yùn)行的應(yīng)用程序的標(biāo)識, 因此 TCP/IP 協(xié)議中一個有效的網(wǎng)絡(luò)地址包括 IP 地址和端口地址兩個部分。 TCP/IP 協(xié)議提供了兩種計算機(jī)之間的通訊方式:TCP 方式和 UDP 方式。 TCP 是一種面向連接的服務(wù),在文件傳輸時會先行建立連接,通過鏈接提 供雙向、有序且無重復(fù)的數(shù)據(jù)流服務(wù)、以及流量控制、差錯檢測和糾錯等服務(wù), 從而確保文件傳輸?shù)恼_性;UDP 則是一種無

14、連接的服務(wù),它在傳輸文件時不 會確保傳輸端的文件能夠正確無誤的傳送到接收端,所以當(dāng)使用 UDP 時,通常 要自己作接收確認(rèn)的工作。 1.31.3 本課題主要研究思路和方法本課題主要研究思路和方法 本系統(tǒng)的開發(fā)采用基于 win socket 的廣播發(fā)送模式,進(jìn)行文字聊天和文件、 文件夾傳輸?shù)脑O(shè)計與開發(fā)。因此,本設(shè)計首先分析該系統(tǒng)的相關(guān)功能,結(jié)合本 設(shè)計的相關(guān)要求寫出需求分析;其次,綜合運(yùn)用以前所學(xué)的相關(guān)知識,選擇所 熟悉的開發(fā)工具進(jìn)行本設(shè)計的開發(fā);在設(shè)計中以需求分析為基礎(chǔ),寫出系統(tǒng)開 發(fā)計劃、實(shí)現(xiàn)流程及相關(guān)問題的實(shí)現(xiàn)方法;最后,在系統(tǒng)開發(fā)完畢后,進(jìn)行調(diào) 試和運(yùn)行,做好調(diào)試和運(yùn)行的相關(guān)記錄。 1.

15、41.4 研究項(xiàng)目的目的以及意義研究項(xiàng)目的目的以及意義 隨著互聯(lián)網(wǎng)技術(shù)的迅猛發(fā)展,網(wǎng)絡(luò)給人們帶來了很多便利,比如人們借助 于網(wǎng)絡(luò)進(jìn)行相互交流變得更加方便。聊天工具作為互聯(lián)網(wǎng)中運(yùn)用最為廣泛的通 信工具之一,如今都已被廣大網(wǎng)民接受。很多人都使用過飛鴿傳書軟件,飛鴿 傳書發(fā)展到現(xiàn)在已經(jīng)具有了很多功能:有文字聊天、文件、文件夾傳輸?shù)幕?功能,也有密封、加鎖等較為復(fù)雜的功能。本畢業(yè)設(shè)計的目的主要是為了檢查 使學(xué)生綜合運(yùn)用以前所學(xué)知識(包括以前所學(xué)的一些關(guān)于網(wǎng)絡(luò)、編程、信息安 全等知識)的能力,模擬局域網(wǎng)飛鴿傳書軟件,開發(fā)一個天系統(tǒng)軟件,本畢業(yè) 設(shè)計主要實(shí)現(xiàn)局域網(wǎng)內(nèi)文字聊天及文件傳輸?shù)裙δ堋?1.51.

16、5 WinWin SocketSocket 的尋址方式的尋址方式 因?yàn)?Winsock 要兼容多個協(xié)議,所以必須使用通用的尋址方式。TCP/IP 使用地址和端口號來指定一個地址,但是其它協(xié)議也許采用不同的形式。如果 Winsock 強(qiáng)迫使用特定的尋址方式,添加其他協(xié)議就不大可能了。在 Winsock 中,應(yīng)用程序員通過 SOCKADDR_IN 結(jié)構(gòu)來指定 IP 地址和端口號。定義如下: Struct sockaddr_in short sin_family; u_short sin_port; struct in_addr sin_addr; har sin_zero8; ; 應(yīng)用程序可以使用

17、 inet_addr 函數(shù)將一個小數(shù)點(diǎn)分隔的十進(jìn)制 IP 地址字符 串轉(zhuǎn)化成由 32 位二進(jìn)制數(shù)表示的 IP 地址。inet_ntoa 函數(shù)將一個網(wǎng)絡(luò)字節(jié)順 序的 32 位 IP 地址轉(zhuǎn)化字符串。注意:inet_addr 返回的 32 位二進(jìn)制數(shù)是用網(wǎng) 絡(luò)順序存儲的。 2 2系統(tǒng)需求分析系統(tǒng)需求分析 2.12.1 系統(tǒng)設(shè)計目標(biāo)系統(tǒng)設(shè)計目標(biāo) 根據(jù)對飛鴿傳輸系統(tǒng)的調(diào)研,我認(rèn)為本設(shè)計需要滿足以下幾個系統(tǒng)設(shè)計目 標(biāo): (1)實(shí)用性原則:真正為局域網(wǎng)的實(shí)際工作服務(wù),按照需求的輕重緩急,合 理設(shè)計本系統(tǒng)。 (2)可靠性原則:必須為用戶提供安全的服務(wù),尤其是要保證傳輸?shù)姆€(wěn)定性。 (3)友好性原則:使用本系統(tǒng)

18、的用戶相當(dāng)一部分對計算機(jī)知識了解很少,所 以系統(tǒng)操作上要求簡單方便,便于用戶掌握。 (4)可擴(kuò)展性原則:采用開放的標(biāo)準(zhǔn)和接口,便于系統(tǒng)向更大的規(guī)模和功能 擴(kuò)展。 2.22.2 系統(tǒng)總體需求分析系統(tǒng)總體需求分析 根據(jù)用戶需求,本系統(tǒng)分為兩個子系統(tǒng)::局域網(wǎng)內(nèi)簡單文字聊天子系統(tǒng), 它是在局域網(wǎng)內(nèi)選擇相應(yīng)的用戶,以便對之發(fā)送文字信息,:文件、文件夾 傳輸系統(tǒng),它是在先把需要傳輸?shù)奈募?、文件夾轉(zhuǎn)換成相就的數(shù)據(jù)流傳關(guān),到 了目的主機(jī)再由之還原。本系統(tǒng)的文字聊天系統(tǒng)實(shí)現(xiàn)的功能類似于用戶之 間的聊天。在設(shè)計系統(tǒng)時,應(yīng)根據(jù)簡潔、流暢的特點(diǎn)安排布局,在編制程序時 應(yīng)充分考慮這一點(diǎn)傳輸?shù)姆€(wěn)定、快捷,真正做到“簡潔

19、、高效、流暢、安全” 的使用環(huán)境。用戶使用的過程為,先是用戶登開啟本軟件,軟件自動檢索局域 網(wǎng)的其它用戶,并以之成為用戶列表,讓用戶選擇。當(dāng)用戶發(fā)現(xiàn)所要連接的用 戶之后,雙擊該用戶,則出現(xiàn)發(fā)送窗口。用戶用之來發(fā)送消息或者文件。接收 方可以選擇接收或者拒絕相應(yīng)的傳輸文件。 2.32.3 組織結(jié)構(gòu)的分析組織結(jié)構(gòu)的分析 以下為組織結(jié)構(gòu)圖: 圖 1 組織結(jié)構(gòu)圖 直接傳送 發(fā) 送 端 電 腦 選 擇 目 標(biāo) 電 腦 連 接 后 數(shù) 據(jù) 轉(zhuǎn) 換 加密傳送 數(shù) 據(jù) 轉(zhuǎn) 換 目 標(biāo) 主 機(jī) .1 開發(fā)運(yùn)行環(huán)境開發(fā)運(yùn)行環(huán)境 開發(fā)此系統(tǒng)所需的基本軟、硬件環(huán)境為: (1).Windows95、 Wi

20、ndows98 或 WindowsNT/2000/XP; (2).Pentium100 及以上檔次的 IBM PC 及其兼容機(jī); (3).128M 以上內(nèi)存措施; (4).1G 以上可用硬盤空間; (5).VGA 顯示器; 以上的配置均要求為在同一局域網(wǎng)內(nèi)的兩臺或兩臺以上。 .2 系統(tǒng)開發(fā)語言系統(tǒng)開發(fā)語言 本系統(tǒng)采用 VC/VC+語言開發(fā)。VC/VC+是前些年迅速發(fā)展和推廣的一種計 算機(jī)語言,近年來,已經(jīng)相當(dāng)?shù)耐晟啤K饕攸c(diǎn)有兩個方面:一是全面兼容 C,二是支持面向?qū)ο虻姆椒ā? 3 3理論知識理論知識 3.13.1 C/SC/S 軟件架構(gòu)技術(shù)軟件架構(gòu)技術(shù) C/S(Clien

21、t/Server)結(jié)構(gòu),即大家熟知的客戶機(jī)/服務(wù)器結(jié)構(gòu)。它是軟件 系統(tǒng)體系結(jié)構(gòu),通過它可以充分利用兩端硬件環(huán)境的優(yōu)勢,將任務(wù)合理分配到 Client 端和 Server 端來實(shí)現(xiàn),降低了系統(tǒng)的通訊開銷。目前大多數(shù)應(yīng)用軟件 系統(tǒng)都是 Client/Server 形式的兩層結(jié)構(gòu),由于現(xiàn)在的軟件應(yīng)用系統(tǒng)正在向分 布式的 Web 應(yīng)用發(fā)展,Web 和 Client/Server 應(yīng)用都可以進(jìn)行同樣的業(yè)務(wù)處理, 應(yīng)用不同的模塊共享邏輯組件;因此,內(nèi)部的和外部的用戶都可以訪問新的和 現(xiàn)有的應(yīng)用系統(tǒng),通過現(xiàn)有應(yīng)用系統(tǒng)中的邏輯可以擴(kuò)展出新的應(yīng)用系統(tǒng)。這也 就是目前應(yīng)用系統(tǒng)的發(fā)展方向。 傳統(tǒng)的 CS 體系結(jié)構(gòu)雖

22、然采用的是開放模式,但這只是系統(tǒng)開發(fā)一級的開 放性,在特定的應(yīng)用中無論是 Client 端還是 Server 端都還需要特定的軟件支 持。由于沒能提供用戶真正期望的開放環(huán)境,C/S 結(jié)構(gòu)的軟件需要針對不同的 操作系統(tǒng)系統(tǒng)開發(fā)不同版本的軟件,加之產(chǎn)品的更新?lián)Q代十分快,已經(jīng)很難適 應(yīng)百臺電腦以上局域網(wǎng)用戶同時使用。 3.23.2 用戶數(shù)據(jù)報協(xié)議用戶數(shù)據(jù)報協(xié)議(UDP)(UDP) UDP(User Datagram Protocol):用戶數(shù)據(jù)包協(xié)議,它和 TCP 一樣位于傳 輸層,和 IP 協(xié)議配合使用,在傳輸數(shù)據(jù)時省去包頭,但它不能提供數(shù)據(jù)包的重 傳,所以適合傳輸較短的文件。 由于大多數(shù)網(wǎng)絡(luò)應(yīng)用

23、程序都在同一臺機(jī)器上運(yùn)行,計算機(jī)上必須能夠確保 目的地機(jī)器上的軟件程序能從源地址機(jī)器處獲得數(shù)據(jù)包,以及源計算機(jī)能收到 正確的回復(fù)。這是通過使用 UDP 的“端口號”完成的。源端口號標(biāo)識了請求域 名服務(wù)的本地機(jī)的應(yīng)用程序,同時需要將所有由目的站生成的響應(yīng)包都指定到 源主機(jī)的這個端口上。與 TCP 不同,UDP 并不提供對 IP 協(xié)議的可靠機(jī)制、流控 制以及錯誤恢復(fù)功能等。由于 UDP 比較簡單,UDP 頭包含很少的字節(jié),比 TCP 負(fù)載消耗少,所以 UDP 適用于不需要 TCP 可靠機(jī)制的情形,比如,當(dāng)高層協(xié)議 或應(yīng)用程序提供錯誤和流控制功能的時候。UDP 是傳輸層協(xié)議,服務(wù)于很多知 名應(yīng)用層協(xié)

24、議,包括網(wǎng)絡(luò)文件系統(tǒng)(NFS) 、簡單網(wǎng)絡(luò)管理協(xié)議(SNMP) 、域名系 統(tǒng)(DNS)以及簡單文件傳輸系統(tǒng)(TFTP) 。 3.33.3 單播、廣播、組播淺析單播、廣播、組播淺析 硬件組播(multicasting)是一種多點(diǎn)投遞的形式,它使用硬件技術(shù),通 過使用大量組播地址來通信。當(dāng)某一組機(jī)器需要通信時,選擇一個組播地址, 并配置好相應(yīng)的網(wǎng)絡(luò)接口硬件,識別組播地址,從而收到該組播地址上分組的 拷貝。廣播(broadcasting)是多點(diǎn)投遞的最普遍的形式,它向每一個目的站 投遞一個分組的拷貝。它可以通過多個單次分組的投遞完成,也可以通過單獨(dú) 的連接傳遞分組的拷貝,直到每個接收方均收到一個拷貝

25、為止。 在多數(shù)網(wǎng)絡(luò)中,用戶是通過把分組分送給一個特殊保留的地址即廣播地址 (broadcast address)來進(jìn)行廣播投遞,它的主要缺點(diǎn)是會耗費(fèi)大量的主機(jī)資 源和網(wǎng)絡(luò)資源。 單播(unexacting)是指只有一個目的地的數(shù)據(jù)報傳遞。從投遞目的地的 數(shù)量而言,單播和廣播均可看作是組播的一個子集。單播可以看作僅包括一臺 機(jī)器群組的組播;廣播可以看作包含了所有機(jī)器群組的組播。但從數(shù)據(jù)報的投 遞方式而言,單播、廣播和組播還是有較大的區(qū)別。 4 4系統(tǒng)設(shè)計系統(tǒng)設(shè)計 本系統(tǒng)主要分為文字聊天和文件傳書兩大部分。所以本論文將把系統(tǒng)分成 兩大模塊來介紹。 4.14.1 文字聊天模塊的整體構(gòu)架文字聊天模塊的

26、整體構(gòu)架 4.24.2 文件傳輸模塊的主要流程圖文件傳輸模塊的主要流程圖 4.34.3 系統(tǒng)的主要功能模塊系統(tǒng)的主要功能模塊 .1 文字聊天的主登錄界面文字聊天的主登錄界面 .2 文字聊天信息的封裝文字聊天信息的封裝 封裝是一種把多次聊天的的數(shù)據(jù)捆綁在一起,使這兩者不受外界干擾和誤用 的機(jī)制.封裝可被理解為一種用做保護(hù)的包裝器,以防止代碼和數(shù)據(jù)被包裝器外 部所定義的其他代碼任意訪問.對包裝器內(nèi)部代碼與數(shù)據(jù)的訪問通過一個明確定 義的接口來控制.封裝代碼的好處是每個人都知道怎樣訪問代碼,進(jìn)而無需考慮 實(shí)現(xiàn)細(xì)節(jié)就能直接使用它,同時不用擔(dān)心不可預(yù)料的副作用. 用戶密封只

27、需選擇 seal 選項(xiàng),程序插件自動生成封裝功能。并且在聊天過 程中,封裝的過程仍在持續(xù),聊天的內(nèi)容是邊封裝數(shù)據(jù)包邊傳輸。 密封發(fā)送信息接收界面,如圖 6 所示 圖 6 接收界面 在點(diǎn)擊 open 后顯示信息。 其中實(shí)現(xiàn)的主要代碼為: BOOL TApp:PreProcMsg(MSG *msg)/ for TranslateAccel hWnd != NULL; hWnd=:GetParent(hWnd) TWin*win = SearchWnd(hWnd); if (win != NULL) returnwin-PreProcMsg(msg); returnFALSE; LRESULT CA

28、LLBACK TApp:WinProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) TWin *win = SearchWnd(hWnd); if (win) returnwin-WinProc(uMsg, wParam, lParam); if (win = preWnd) != NULL) preWnd = NULL; AddWinByWnd(win, hWnd); returnwin-WinProc(uMsg, wParam, lParam); returnDefWindowProc(hWnd, uMsg, wParam, lP

29、aram); .3 聊天信息的加鎖聊天信息的加鎖 加鎖名如其實(shí),其作用主要在于使傳送的信息或者文件、文件夾只能給有 password 的用戶看,從而加強(qiáng)了信息的安全程度。在現(xiàn)在這個網(wǎng)絡(luò)黑客泛濫的 時代,為了保護(hù)信息的隱私,加鎖就更加必要了。以下為加鎖信息的主要界面。 在加鎖后的信息接收界面,如圖 7 所示: 圖 7 聊天信息加鎖后界面 點(diǎn)擊確定后顯示,如圖 8 所示: 圖 8 開鎖界面 其中主要代碼為: BOOL TRegistry:DeleteChildTree(LPSTR subKey) charbuf100; BOOL ret = TRUE; if (subKey !=

30、NULL while (EnumKey(0, buf, sizeof(buf) if (ret = DeleteChildTree(buf) != TRUE) break; if (subKey != NULL) CloseKey(); ret = DeleteKey(subKey) ? ret : FALSE; else while (EnumValue(0, buf, sizeof(buf) if (DeleteValue(buf) != TRUE) ret = FALSE; break; returnret; .4 文件傳輸?shù)慕缑嫖募鬏數(shù)慕缑?與文字聊天一樣,系統(tǒng)的文件

31、、文件夾傳輸模塊也盡量地要求簡單易行, 便于操作。當(dāng)然,作為文件的傳輸,速度和安全也就成為了重要的問題,系統(tǒng) 的簡單加鎖能達(dá)到局域網(wǎng)較為單一的環(huán)境要求。 文件傳輸?shù)倪^程中流程為首先客端的主機(jī)通過 TCP/IP 協(xié)議建立鏈接,然后 客戶機(jī)發(fā)送套節(jié)字請求,通過 3 次握手連接響應(yīng),再轉(zhuǎn)換數(shù)據(jù)為 socket 流傳送, 最近通過 3 次握手?jǐn)嚅_連接響應(yīng)。 選擇用戶并拖入相應(yīng)所要傳送的文件及文件夾,如圖 9 所示: 圖 9 文件傳輸界面 點(diǎn)擊所發(fā)送的文件為文件另存為,界面如圖 10 所示: 圖 10 選擇存儲路徑 選擇路徑確定后,文件開始傳輸。其傳送界面,如圖 11 所示: 圖 11 文件傳輸中 實(shí)現(xiàn)

32、的主要代碼為: void TSendDlg:InitializeHeader(void) intorderMAX_SENDWIDTH; intrevItemsMAX_SENDWIDTH; while (maxItems 0) SendDlgItemMessage(HOST_LIST, LVM_DELETECOLUMN, - maxItems, 0); ColumnItems = cfg-ColumnItems for (int cnt=0; cnt MAX_SENDWIDTH; cnt+) if (GetItem(ColumnItems, cnt) itemsmaxItems = cnt; r

33、evItemscnt = maxItems+; intorderCnt = 0; for (cnt=0; cnt GlidLineCheck) style |= LVS_EX_GRIDLINES; else style SendDlgItemMessage(HOST_LIST, LVM_SETEXTENDEDLISTVIEWSTYLE, 0, style); static char*headerStrMAX_SENDWIDTH; .5 用戶密封或加鎖傳輸文件用戶密封或加鎖傳輸文件 文件傳輸模塊實(shí)現(xiàn)主要依靠發(fā)送端與接收端建立有效的連接后,客戶端不 斷地向 SOCKET 寫入文件流,服務(wù)器端不斷接受來自客戶端的 SOCKET 文件流。 直到文件傳輸完畢關(guān)閉套節(jié)字連接并釋放空間。 密封和加鎖主要是通過程序的插件對所傳送的文件加以密封,加密,以便 確保文件的安全性。 點(diǎn)擊 open (files)按鈕,界面如圖 12 所示: 圖 12 文件傳輸界面 用戶接收到加鎖的文件 圖 13 加鎖信息接收界面 其中主要代碼為: BOOL TRegistry:DeleteChildTree(LPSTR subKey) charbuf100; BOOL ret = TRUE; if (subKey != NU

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論