




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、飛鴿傳書軟件的設(shè)計(jì)與測試飛鴿傳書軟件的設(shè)計(jì)與測試摘摘 要要網(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ā)一個(gè)基于局域網(wǎng)的信息收發(fā)系統(tǒng)的即時(shí)通訊工具,實(shí)現(xiàn)在內(nèi)部網(wǎng)絡(luò)中進(jìn)行信息的交流。本課題設(shè)計(jì)主要針對(duì)局域網(wǎng)通訊而開發(fā)設(shè)計(jì)的,采用的是 c/s 構(gòu)架,類似飛鴿傳書系統(tǒng),來實(shí)現(xiàn)聊天、文件傳輸功能,并借助一些網(wǎng)絡(luò)通訊組件,成功的實(shí)現(xiàn)了在局域網(wǎng)上的即時(shí)通
2、訊。本論文的目標(biāo)是設(shè)計(jì)一個(gè)類似飛鴿傳輸?shù)木钟蚓W(wǎng)通信軟件,并分析它在其領(lǐng)域的優(yōu)勢。本設(shè)計(jì)以 c 編寫,能在 windows 2000/net/xp 等環(huán)境下運(yùn)行。設(shè)計(jì)共分為五大模塊,分別是:首先,介紹選題背景及意義和國內(nèi)外研究現(xiàn)狀;其次,介紹 tcp/ip 點(diǎn)對(duì)點(diǎn)協(xié)議技術(shù),c/s 架構(gòu)和 socket 網(wǎng)絡(luò)編程技術(shù);再次,對(duì)當(dāng)前局域網(wǎng)文件傳輸進(jìn)行需求分析并提出解決方案;然后,根據(jù)解決方案對(duì)系統(tǒng)進(jìn)行設(shè)計(jì);最后,對(duì)工作計(jì)劃統(tǒng)計(jì)以及分析系統(tǒng)進(jìn)行測試并得到測試結(jié)果。關(guān)鍵詞關(guān)鍵詞:聊天;傳輸;socket;飛鴿傳書;c/s 結(jié)構(gòu)design and implementation ip messenger
3、based on lanabstractthe 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 network resources, be at
4、tacked 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, needs to develop on
5、e 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, uses is the c/s s
6、keleton,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 cnvironment of windows 2000
7、/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 protocol technology; c
8、/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 plan, awalys and test
9、 the system and obtains the testnesult.key words: chat;transmission; socket; c/s skeleton;ip messenger 第 1 頁 共 20 頁目目 錄錄論文總頁數(shù):20 頁1引言.11.1 課題背景.11.2 本課題主要研究背景.11.3 本課題主要研究思路和方法.11.4 研究項(xiàng)目的目的以及意義.21.5 winsocket 的尋址方式.22系統(tǒng)需求分析.22.1 系統(tǒng)設(shè)計(jì)目標(biāo).22.2 系統(tǒng)總體需求分析.32.3 組織結(jié)構(gòu)的分析.32.3.1 開發(fā)運(yùn)行環(huán)境.32.3.2 系統(tǒng)開發(fā)語言.43理論知識(shí).43
10、.1 c/s 軟件架構(gòu)技術(shù).43.2 用戶數(shù)據(jù)報(bào)協(xié)議(udp) .43.3 單播、廣播、組播淺析.54系統(tǒng)設(shè)計(jì).54.1 文字聊天模塊的整體構(gòu)架.54.2 文件傳輸模塊的主要流程圖.64.3 系統(tǒng)的主要功能模塊.64.3.1 文字聊天的主登錄界面.64.3.2 文字聊天信息的封裝.94.3.3 聊天信息的加鎖.104.3.4 文件傳輸?shù)慕缑?124.3.5 用戶密封或加鎖傳輸文件.155系統(tǒng)測試.175.1 測試環(huán)境.175.2 測試結(jié)果.17結(jié) 論.17參考文獻(xiàn).18第 2 頁 共 20 頁1 1引言引言 1.11.1 課題背景課題背景當(dāng)時(shí)間走向 21 世紀(jì),當(dāng)今時(shí)代也由工業(yè)經(jīng)濟(jì)漸漸成為了知
11、識(shí)經(jīng)濟(jì)、信息經(jīng)濟(jì)的時(shí)代。信息的需求量的不停增加,促使了計(jì)算機(jī)通信的日新月異!雖然網(wǎng)絡(luò)的使用頻率與使用的范圍都越來越廣泛,但是人們使用的網(wǎng)絡(luò)的用途主要的還是只有兩個(gè):(1)相互之間的溝通,(2)資源共享。局域網(wǎng)作為網(wǎng)絡(luò)的一個(gè)重要組成部分,它不但用戶與外界連接的樞紐,同時(shí)也是近距離用戶之間溝通與資源共享的一個(gè)重要途徑。在這種情況下,如何使局域網(wǎng)內(nèi)的用戶便捷的勾通,以及快速的資源共享,也就成為了人們對(duì)網(wǎng)絡(luò)研究的重點(diǎn)之一。本系統(tǒng)仿飛鴿傳輸,是一個(gè)局域網(wǎng)內(nèi)的通迅工具,主要通過 winsockt 完成。它據(jù)有的功能有:(1)局域網(wǎng)內(nèi)用戶間簡單的文字聊天功能;(2)局域網(wǎng)內(nèi)用戶間相互的文件、文件夾傳輸。1.
12、21.2 本課題主要研究背景本課題主要研究背景隨著計(jì)算機(jī)和通訊技術(shù)的發(fā)展,計(jì)算機(jī)的網(wǎng)絡(luò)化已經(jīng)滲透到各個(gè)應(yīng)用領(lǐng)域,尤其是以 tcp/ip 協(xié)議之間的網(wǎng)絡(luò)互連發(fā)展很快,計(jì)算機(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ù)通訊時(shí),使用地址來標(biāo)識(shí)網(wǎng)絡(luò)中的計(jì)算機(jī),有了地址以后,數(shù)據(jù)才會(huì)準(zhǔn)確地發(fā)送到地址所指向的計(jì)算機(jī)。tcp/ip 協(xié)議使用 ip 地址為網(wǎng)絡(luò)中計(jì)算機(jī)的標(biāo)識(shí),而且每臺(tái)計(jì)算機(jī)的 ip 地址是唯一的,一般情況下,每臺(tái)計(jì)算機(jī)運(yùn)行的程
13、序不止一個(gè),因此要在應(yīng)用程序中建立連接的話,還需要一個(gè)地址標(biāo)識(shí)。在 tcp/ip 協(xié)議書中使用端口(port)作為計(jì)算機(jī)上運(yùn)行的應(yīng)用程序的標(biāo)識(shí),因此 tcp/ip 協(xié)議中一個(gè)有效的網(wǎng)絡(luò)地址包括 ip 地址和端口地址兩個(gè)部分。tcp/ip 協(xié)議提供了兩種計(jì)算機(jī)之間的通訊方式:tcp 方式和 udp 方式。tcp 是一種面向連接的服務(wù),在文件傳輸時(shí)會(huì)先行建立連接,通過鏈接提供雙向、有序且無重復(fù)的數(shù)據(jù)流服務(wù)、以及流量控制、差錯(cuò)檢測和糾錯(cuò)等服務(wù),從而確保文件傳輸?shù)恼_性;udp 則是一種無連接的服務(wù),它在傳輸文件時(shí)不會(huì)確保傳輸端的文件能夠正確無誤的傳送到接收端,所以當(dāng)使用 udp 時(shí),通常要自己作接收
14、確認(rèn)的工作。第 3 頁 共 20 頁1.31.3 本課題主要研究思路和方法本課題主要研究思路和方法本系統(tǒng)的開發(fā)采用基于 win socket 的廣播發(fā)送模式,進(jìn)行文字聊天和文件、文件夾傳輸?shù)脑O(shè)計(jì)與開發(fā)。因此,本設(shè)計(jì)首先分析該系統(tǒng)的相關(guān)功能,結(jié)合本設(shè)計(jì)的相關(guān)要求寫出需求分析;其次,綜合運(yùn)用以前所學(xué)的相關(guān)知識(shí),選擇所熟悉的開發(fā)工具進(jìn)行本設(shè)計(jì)的開發(fā);在設(shè)計(jì)中以需求分析為基礎(chǔ),寫出系統(tǒng)開發(fā)計(jì)劃、實(shí)現(xiàn)流程及相關(guān)問題的實(shí)現(xiàn)方法;最后,在系統(tǒng)開發(fā)完畢后,進(jìn)行調(diào)試和運(yùn)行,做好調(diào)試和運(yùn)行的相關(guān)記錄。1.41.4 研究項(xiàng)目的目的以及意義研究項(xiàng)目的目的以及意義隨著互聯(lián)網(wǎng)技術(shù)的迅猛發(fā)展,網(wǎng)絡(luò)給人們帶來了很多便利,比如
15、人們借助于網(wǎng)絡(luò)進(jìn)行相互交流變得更加方便。聊天工具作為互聯(lián)網(wǎng)中運(yùn)用最為廣泛的通信工具之一,如今都已被廣大網(wǎng)民接受。很多人都使用過飛鴿傳書軟件,飛鴿傳書發(fā)展到現(xiàn)在已經(jīng)具有了很多功能:有文字聊天、文件、文件夾傳輸?shù)幕竟δ?,也有密封、加鎖等較為復(fù)雜的功能。本畢業(yè)設(shè)計(jì)的目的主要是為了檢查使學(xué)生綜合運(yùn)用以前所學(xué)知識(shí)(包括以前所學(xué)的一些關(guān)于網(wǎng)絡(luò)、編程、信息安全等知識(shí))的能力,模擬局域網(wǎng)飛鴿傳書軟件,開發(fā)一個(gè)天系統(tǒng)軟件,本畢業(yè)設(shè)計(jì)主要實(shí)現(xiàn)局域網(wǎng)內(nèi)文字聊天及文件傳輸?shù)裙δ堋?.51.5 winwin socketsocket 的尋址方式的尋址方式因?yàn)?winsock 要兼容多個(gè)協(xié)議,所以必須使用通用的尋址方式
16、。tcp/ip使用地址和端口號(hào)來指定一個(gè)地址,但是其它協(xié)議也許采用不同的形式。如果winsock 強(qiáng)迫使用特定的尋址方式,添加其他協(xié)議就不大可能了。在 winsock中,應(yīng)用程序員通過 sockaddr_in 結(jié)構(gòu)來指定 ip 地址和端口號(hào)。定義如下:struct sockaddr_inshort sin_family;u_short sin_port;struct in_addr sin_addr;har sin_zero8;應(yīng)用程序可以使用 inet_addr 函數(shù)將一個(gè)小數(shù)點(diǎn)分隔的十進(jìn)制 ip 地址字符串轉(zhuǎn)化成由 32 位二進(jìn)制數(shù)表示的 ip 地址。inet_ntoa 函數(shù)將一個(gè)網(wǎng)絡(luò)字節(jié)
17、順序的 32 位 ip 地址轉(zhuǎn)化字符串。注意:inet_addr 返回的 32 位二進(jìn)制數(shù)是用網(wǎng)絡(luò)順序存儲(chǔ)的。第 4 頁 共 20 頁2 2系統(tǒng)需求分析系統(tǒng)需求分析2.12.1 系統(tǒng)設(shè)計(jì)目標(biāo)系統(tǒng)設(shè)計(jì)目標(biāo)根據(jù)對(duì)飛鴿傳輸系統(tǒng)的調(diào)研,我認(rèn)為本設(shè)計(jì)需要滿足以下幾個(gè)系統(tǒng)設(shè)計(jì)目標(biāo):(1)實(shí)用性原則:真正為局域網(wǎng)的實(shí)際工作服務(wù),按照需求的輕重緩急,合理設(shè)計(jì)本系統(tǒng)。(2)可靠性原則:必須為用戶提供安全的服務(wù),尤其是要保證傳輸?shù)姆€(wěn)定性。(3)友好性原則:使用本系統(tǒng)的用戶相當(dāng)一部分對(duì)計(jì)算機(jī)知識(shí)了解很少,所以系統(tǒng)操作上要求簡單方便,便于用戶掌握。(4)可擴(kuò)展性原則:采用開放的標(biāo)準(zhǔn)和接口,便于系統(tǒng)向更大的規(guī)模和功能擴(kuò)
18、展。 2.22.2 系統(tǒng)總體需求分析系統(tǒng)總體需求分析根據(jù)用戶需求,本系統(tǒng)分為兩個(gè)子系統(tǒng)::局域網(wǎng)內(nèi)簡單文字聊天子系統(tǒng),它是在局域網(wǎng)內(nèi)選擇相應(yīng)的用戶,以便對(duì)之發(fā)送文字信息,:文件、文件夾傳輸系統(tǒng),它是在先把需要傳輸?shù)奈募?、文件夾轉(zhuǎn)換成相就的數(shù)據(jù)流傳關(guān),到了目的主機(jī)再由之還原。本系統(tǒng)的文字聊天系統(tǒng)實(shí)現(xiàn)的功能類似于用戶之間的聊天。在設(shè)計(jì)系統(tǒng)時(shí),應(yīng)根據(jù)簡潔、流暢的特點(diǎn)安排布局,在編制程序時(shí)應(yīng)充分考慮這一點(diǎn)傳輸?shù)姆€(wěn)定、快捷,真正做到“簡潔、高效、流暢、安全”的使用環(huán)境。用戶使用的過程為,先是用戶登開啟本軟件,軟件自動(dòng)檢索局域網(wǎng)的其它用戶,并以之成為用戶列表,讓用戶選擇。當(dāng)用戶發(fā)現(xiàn)所要連接的用戶之后,雙擊
19、該用戶,則出現(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ī)第 5 頁 共 20 頁.1 開發(fā)運(yùn)行環(huán)境開發(fā)運(yùn)行環(huán)境開發(fā)此系統(tǒng)所需的基本軟、硬件環(huán)境為:(1).windows95、 windows98 或 windowsnt/2000/xp;(2).pentium100 及以上檔次的 ibm pc 及其兼容機(jī);(3).128m 以上內(nèi)存措施;(4).1g 以上可用硬盤空間;(5).vga 顯示器;以上的
20、配置均要求為在同一局域網(wǎng)內(nèi)的兩臺(tái)或兩臺(tái)以上。.2 系統(tǒng)開發(fā)語言系統(tǒng)開發(fā)語言本系統(tǒng)采用 vc/vc+語言開發(fā)。vc/vc+是前些年迅速發(fā)展和推廣的一種計(jì)算機(jī)語言,近年來,已經(jīng)相當(dāng)?shù)耐晟?。它主要特點(diǎn)有兩個(gè)方面:一是全面兼容c,二是支持面向?qū)ο虻姆椒ā?3 3理論知識(shí)理論知識(shí)3.13.1 c/sc/s 軟件架構(gòu)技術(shù)軟件架構(gòu)技術(shù)c/s(client/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/se
21、rver 形式的兩層結(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)雖然采用的是開放模式,但這只是系統(tǒng)開發(fā)一級(jí)的開放性,在特定的應(yīng)用中無論是 client 端還是 server 端都還需要特定的軟件支持。由于沒能提供用戶真正期望的開放環(huán)境,c/s 結(jié)構(gòu)的軟件需要針對(duì)不同的操作系統(tǒng)系統(tǒng)開發(fā)不同版本的軟件,加之產(chǎn)品的更新?lián)Q代十分快,
22、已經(jīng)很難適應(yīng)百臺(tái)電腦以上局域網(wǎng)用戶同時(shí)使用。3.23.2 用戶數(shù)據(jù)報(bào)協(xié)議用戶數(shù)據(jù)報(bào)協(xié)議(udp)(udp)udp(user datagram protocol):用戶數(shù)據(jù)包協(xié)議,它和 tcp 一樣位于傳輸層,和 ip 協(xié)議配合使用,在傳輸數(shù)據(jù)時(shí)省去包頭,但它不能提供數(shù)據(jù)包的重傳,所以適合傳輸較短的文件。由于大多數(shù)網(wǎng)絡(luò)應(yīng)用程序都在同一臺(tái)機(jī)器上運(yùn)行,計(jì)算機(jī)上必須能夠確保目的地機(jī)器上的軟件程序能從源地址機(jī)器處獲得數(shù)據(jù)包,以及源計(jì)算機(jī)能收到第 6 頁 共 20 頁正確的回復(fù)。這是通過使用 udp 的“端口號(hào)”完成的。源端口號(hào)標(biāo)識(shí)了請求域名服務(wù)的本地機(jī)的應(yīng)用程序,同時(shí)需要將所有由目的站生成的響應(yīng)包都指定
23、到源主機(jī)的這個(gè)端口上。與 tcp 不同,udp 并不提供對(duì) ip 協(xié)議的可靠機(jī)制、流控制以及錯(cuò)誤恢復(fù)功能等。由于 udp 比較簡單,udp 頭包含很少的字節(jié),比 tcp負(fù)載消耗少,所以 udp 適用于不需要 tcp 可靠機(jī)制的情形,比如,當(dāng)高層協(xié)議或應(yīng)用程序提供錯(cuò)誤和流控制功能的時(shí)候。udp 是傳輸層協(xié)議,服務(wù)于很多知名應(yīng)用層協(xié)議,包括網(wǎng)絡(luò)文件系統(tǒng)(nfs) 、簡單網(wǎng)絡(luò)管理協(xié)議(snmp) 、域名系統(tǒng)(dns)以及簡單文件傳輸系統(tǒng)(tftp) 。3.33.3 單播、廣播、組播淺析單播、廣播、組播淺析硬件組播(multicasting)是一種多點(diǎn)投遞的形式,它使用硬件技術(shù),通過使用大量組播地址來
24、通信。當(dāng)某一組機(jī)器需要通信時(shí),選擇一個(gè)組播地址,并配置好相應(yīng)的網(wǎng)絡(luò)接口硬件,識(shí)別組播地址,從而收到該組播地址上分組的拷貝。廣播(broadcasting)是多點(diǎn)投遞的最普遍的形式,它向每一個(gè)目的站投遞一個(gè)分組的拷貝。它可以通過多個(gè)單次分組的投遞完成,也可以通過單獨(dú)的連接傳遞分組的拷貝,直到每個(gè)接收方均收到一個(gè)拷貝為止。在多數(shù)網(wǎng)絡(luò)中,用戶是通過把分組分送給一個(gè)特殊保留的地址即廣播地址(broadcast address)來進(jìn)行廣播投遞,它的主要缺點(diǎn)是會(huì)耗費(fèi)大量的主機(jī)資源和網(wǎng)絡(luò)資源。單播(unexacting)是指只有一個(gè)目的地的數(shù)據(jù)報(bào)傳遞。從投遞目的地的數(shù)量而言,單播和廣播均可看作是組播的一個(gè)子
25、集。單播可以看作僅包括一臺(tái)機(jī)器群組的組播;廣播可以看作包含了所有機(jī)器群組的組播。但從數(shù)據(jù)報(bào)的投遞方式而言,單播、廣播和組播還是有較大的區(qū)別。 4 4系統(tǒng)設(shè)計(jì)系統(tǒng)設(shè)計(jì)本系統(tǒng)主要分為文字聊天和文件傳書兩大部分。所以本論文將把系統(tǒng)分成兩大模塊來介紹。4.14.1 文字聊天模塊的整體構(gòu)架文字聊天模塊的整體構(gòu)架4.24.2 文件傳輸模塊的主要流程圖文件傳輸模塊的主要流程圖4.34.3 系統(tǒng)的主要功能模塊系統(tǒng)的主要功能模塊.1 文字聊天的主登錄界面文字聊天的主登錄界面.2 文字聊天信息的封裝文字聊天信息的封裝封裝是一種把多次聊天的的數(shù)據(jù)捆綁在一起,使這兩者不受外界干擾和誤用
26、的機(jī)制.封裝可被理解為一種用做保護(hù)的包裝器,以防止代碼和數(shù)據(jù)被包裝器外第 7 頁 共 20 頁部所定義的其他代碼任意訪問.對(duì)包裝器內(nèi)部代碼與數(shù)據(jù)的訪問通過一個(gè)明確定義的接口來控制.封裝代碼的好處是每個(gè)人都知道怎樣訪問代碼,進(jìn)而無需考慮實(shí)現(xiàn)細(xì)節(jié)就能直接使用它,同時(shí)不用擔(dān)心不可預(yù)料的副作用.用戶密封只需選擇 seal 選項(xiàng),程序插件自動(dòng)生成封裝功能。并且在聊天過程中,封裝的過程仍在持續(xù),聊天的內(nèi)容是邊封裝數(shù)據(jù)包邊傳輸。密封發(fā)送信息接收界面,如圖 6 所示圖 6 接收界面在點(diǎn)擊 open 后顯示信息。其中實(shí)現(xiàn)的主要代碼為:bool tapp:preprocmsg(msg *msg)/ for tra
27、nslateaccel & isdialogmessagefor (hwnd hwnd=msg-hwnd; hwnd != null; hwnd=:getparent(hwnd)twin*win = searchwnd(hwnd);if (win != null)returnwin-preprocmsg(msg);returnfalse;lresult callback tapp:winproc(hwnd hwnd, uint umsg, wparam wparam, lparam lparam)第 8 頁 共 20 頁twin *win = searchwnd(hwnd);if (w
28、in)returnwin-winproc(umsg, wparam, lparam);if (win = prewnd) != null)prewnd = null;addwinbywnd(win, hwnd);returnwin-winproc(umsg, wparam, lparam);returndefwindowproc(hwnd, umsg, wparam, lparam);.3 聊天信息的加鎖聊天信息的加鎖加鎖名如其實(shí),其作用主要在于使傳送的信息或者文件、文件夾只能給有password 的用戶看,從而加強(qiáng)了信息的安全程度。在現(xiàn)在這個(gè)網(wǎng)絡(luò)黑客泛濫的時(shí)代,為了保護(hù)信息的
29、隱私,加鎖就更加必要了。以下為加鎖信息的主要界面。在加鎖后的信息接收界面,如圖 7 所示:圖 7 聊天信息加鎖后界面點(diǎn)擊確定后顯示,如圖 8 所示:第 9 頁 共 20 頁圖 8 開鎖界面其中主要代碼為:bool tregistry:deletechildtree(lpstr subkey)charbuf100;bool ret = true;if (subkey != null & openkey(subkey) != true)returnfalse;while (enumkey(0, buf, sizeof(buf)if (ret = deletechildtree(buf) !
30、= true)break;if (subkey != null)closekey();ret = deletekey(subkey) ? ret : false;else while (enumvalue(0, buf, sizeof(buf)if (deletevalue(buf) != true)ret = false;第 10 頁 共 20 頁break;returnret;.4 文件傳輸?shù)慕缑嫖募鬏數(shù)慕缑媾c文字聊天一樣,系統(tǒng)的文件、文件夾傳輸模塊也盡量地要求簡單易行,便于操作。當(dāng)然,作為文件的傳輸,速度和安全也就成為了重要的問題,系統(tǒng)的簡單加鎖能達(dá)到局域網(wǎng)較為單一的環(huán)
31、境要求。文件傳輸?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 所示:第 11 頁 共 20 頁圖 10 選擇存儲(chǔ)路徑選擇路徑確定后,文件開始傳輸。其傳送界面,如圖 11 所示:圖 11 文件傳輸中實(shí)現(xiàn)的主要代碼為:void tsenddlg:initializeheader(void)intordermax_sendwidth;intr
32、evitemsmax_sendwidth;while (maxitems 0)senddlgitemmessage(host_list, lvm_deletecolumn, -maxitems, 0);columnitems = cfg-columnitems & (1 sendorder, sizeof(fullorder);for (int cnt=0; cnt max_sendwidth; cnt+) if (getitem(columnitems, cnt) itemsmaxitems = cnt;revitemscnt = maxitems+;intordercnt = 0;
33、for (cnt=0; cnt glidlinecheck)style |= lvs_ex_gridlines;elsestyle &= lvs_ex_gridlines;senddlgitemmessage(host_list, lvm_setextendedlistviewstyle, 0, style);static char*headerstrmax_sendwidth;.5 用戶密封或加鎖傳輸文件用戶密封或加鎖傳輸文件文件傳輸模塊實(shí)現(xiàn)主要依靠發(fā)送端與接收端建立有效的連接后,客戶端不斷地向 socket 寫入文件流,服務(wù)器端不斷接受來自客戶端的 socket 文件流。直到文件傳輸完畢關(guān)閉套節(jié)字連接并釋放空間。密封和加鎖主要是通過程序的插件對(duì)所傳送的文件加以密封,加密,以便確保文件的安全性。點(diǎn)擊 open (files)按鈕,界面如圖 12 所示:第 13 頁 共 20 頁圖 12 文件傳輸界面用戶接收到加鎖的文件圖 13 加鎖信息接收界面其中主要代碼為:bool tregistry:deletechildtree(lpstr subkey)charbuf100;bool ret = true;if (subkey != null & openkey(subkey) != tru
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 研學(xué)課程開發(fā)師筆試試題及答案
- 兒童康復(fù)訓(xùn)練師考試試卷及答案
- 《特種設(shè)備使用單位作業(yè)人員管理規(guī)范》編制說明20250422
- 2025年高精度數(shù)字測溫儀表合作協(xié)議書
- 國開學(xué)習(xí)網(wǎng)《園林樹木學(xué)》形考任務(wù)1234答案
- 青島西海岸新區(qū)教育和體育系統(tǒng)專項(xiàng)招聘公費(fèi)師范生筆試真題2024
- 2025年紙品用膠項(xiàng)目合作計(jì)劃書
- 消防知識(shí)競賽題庫2
- 2025年暑假.實(shí)踐調(diào)查報(bào)告范文
- 2025年收費(fèi)的生產(chǎn)服務(wù)及修理合作協(xié)議書
- 2025年交通基礎(chǔ)設(shè)施建設(shè)投融資模式創(chuàng)新與政策解讀
- 2025年青浦區(qū)區(qū)管企業(yè)統(tǒng)一招聘55人筆試參考題庫附帶答案詳解
- 2025年河南省鐵路建設(shè)投資集團(tuán)有限公司招聘筆試參考題庫附帶答案詳解
- 廣東省廣州市荔灣區(qū)統(tǒng)考2025年七下數(shù)學(xué)期末考試試題含解析
- 股權(quán)質(zhì)押合同違約處理協(xié)議
- 初中德育教育家長會(huì)
- 道路危險(xiǎn)貨物運(yùn)輸企業(yè)安全風(fēng)險(xiǎn)辨識(shí)清單
- 中等職業(yè)學(xué)校醫(yī)學(xué)檢驗(yàn)技術(shù)專業(yè)教學(xué)標(biāo)準(zhǔn)(試行)
- 2025春季學(xué)期國開電大??啤豆芾碛⒄Z1》一平臺(tái)在線形考(綜合測試)試題及答案
- 2025CSCO膽道惡性腫瘤診療指南解讀
- 人民調(diào)解文書規(guī)范制作
評(píng)論
0/150
提交評(píng)論