遠程計算機網(wǎng)絡管理畢業(yè)論文_第1頁
已閱讀1頁,還剩41頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  畢業(yè)(設計)論文</b></p><p>  題 目: 遠程計算機網(wǎng)絡管理 </p><p>  學 院: 計算機學院

2、 </p><p>  姓 名: </p><p>  學 號: </p><p

3、>  指導教師: </p><p><b>  2007年6月5日</b></p><p><b>  摘 要</b></p><p>  隨著計算機和通信技術的發(fā)展,遠程

4、監(jiān)控技術與網(wǎng)絡技術的密切結合使計算機監(jiān)控軟件在工業(yè)自動化領域空前成功,這對提高企業(yè)的生產(chǎn)效率發(fā)揮了巨大的作用。同時也給計算機監(jiān)控軟件朝著辦公自動化領域發(fā)展起到巨大的推動作用。</p><p>  本文討論遠程計算機網(wǎng)絡管理系統(tǒng)的設計思路和開發(fā)方法。首先對開發(fā)該系統(tǒng)使用到的一些基本原理做一個簡單的介紹包括:RMON標準、開發(fā)采用的平臺。同時重點分析開發(fā)模式(客戶端\服務器端模式)、網(wǎng)絡通信技術、多線程技術以及這些核

5、心技術在該系統(tǒng)開發(fā)過程中的應用。其次介紹面向?qū)ο蟪绦蛟O計思想以及方法、確定該系統(tǒng)使用的開發(fā)方法后,從系統(tǒng)的工作流程出發(fā)分別從客戶端、服務器端各功能模塊的設計和實現(xiàn)做一個詳細的介紹。最后對本文對該系統(tǒng)開發(fā)的結果做一個總結,并且對指出該系統(tǒng)的擴展方向。</p><p>  遠程計算機網(wǎng)絡管理系統(tǒng)是基于C/S模式的應用系統(tǒng);客戶端通過獲取服務器端網(wǎng)絡狀態(tài),以及相關的進程等信息從而實現(xiàn)對該遠程網(wǎng)絡管理功能。</p&

6、gt;<p>  該系統(tǒng)于Windows XP sp2下開發(fā),采用Visual Basic2005作為開發(fā)工具。</p><p>  關鍵詞:計算機;監(jiān)控;網(wǎng)絡管理;客戶/服務器模式</p><p><b>  Abstract</b></p><p>  With the development of computer and

7、communications technology, remote monitoring technology and network technology closely integration makes computer monitoring software succeed in the areas of industrial automation, and play a tremendous role in improving

8、 the production efficiency. This will also greatly promote computer monitoring software turning to the field of office automation </p><p>  The dissertation discusses the design and realization of a Remote c

9、omputer network management system. Firstly, discuss some of the basic theory briefly including RMON standards and the development of the platform. Then while focusing on the analysis of the development model (the client

10、\server pattern), network communications technology, Multithreading technology, and the core technology in the system development process applications. Secondly, giving an introduction of object-oriented programmi</p&

11、gt;<p>  Remote computer network management system is based on Client/Server mode; Client achieved a remote network management functions through the server’s network state and the relevant information of the proce

12、ss.</p><p>  The system developed in Windows XP sp2, with visual basic 2005 as a development tool.</p><p>  Keywords:computer;monitoring;network Management;client/server pattern</p><p

13、><b>  目 錄</b></p><p><b>  第一章 緒論1</b></p><p>  1.1 課題研究背景1</p><p>  1.2 國內(nèi)外研究現(xiàn)狀2</p><p>  1.3 本文的主要工作3</p><p>  第二章 系統(tǒng)使用基

14、本概念4</p><p>  2.1 RMON4</p><p>  2.2 C/S軟件開發(fā)模式4</p><p>  2.3 網(wǎng)絡通信技術6</p><p>  2.3.1 socket簡介6</p><p>  2.3.2 socket套接字編程原理7</p><p>  2.3

15、.3 通信方式選擇8</p><p>  2.3.4 套接字工作流程9</p><p>  2.4 多線程技術10</p><p>  2.5 開發(fā)平臺-------Visual Basic 200511</p><p>  第三章 面向?qū)ο蟪绦蛟O計方法12</p><p>  3.1 面向?qū)ο笏枷?2&l

16、t;/p><p>  3.2 面向?qū)ο箝_發(fā)在系統(tǒng)中的應用12</p><p>  第四章 遠程計算機管理軟件實現(xiàn)14</p><p>  4.1 系統(tǒng)要求及功能要求14</p><p>  4.1.1 系統(tǒng)要求14</p><p>  4.1.2 功能要求14</p><p>  4.2

17、系統(tǒng)采用主要技術15</p><p>  4.3 遠程計算機網(wǎng)絡管理軟件的設計框架16</p><p>  4.4 遠程計算機網(wǎng)絡管理系統(tǒng)核心功能及實現(xiàn)17</p><p>  4.4.1系統(tǒng)界面設計17</p><p>  4.4.2 通信模塊18</p><p>  4.5 遠程計算機網(wǎng)絡管理系統(tǒng)客戶端設

18、計實現(xiàn)20</p><p>  4.5.1 客戶端應用的實現(xiàn)功能20</p><p>  4.5.2 系統(tǒng)客戶端子功能模塊劃分20</p><p>  4.5.3 主要子模塊設計實現(xiàn)21</p><p>  4.6 遠程計算機網(wǎng)絡管理系統(tǒng)的服務器端設計實現(xiàn)28</p><p>  4.6.1 服務器端開機自啟

19、動的實現(xiàn)28</p><p>  4.6.2 服務器端托盤運行模式29</p><p>  4.6.3 網(wǎng)絡監(jiān)控數(shù)據(jù)采集30</p><p>  第五章 結束語33</p><p>  5.1 工作成果33</p><p>  5.2 工作展望33</p><p><b>

20、  致 謝34</b></p><p><b>  參考文獻35</b></p><p><b>  第一章 緒論</b></p><p>  遠程計算機網(wǎng)絡管理系統(tǒng)是采用C/S模式主要研究了網(wǎng)絡狀態(tài)監(jiān)控的關鍵技術以及如何實現(xiàn)該系統(tǒng)。該系統(tǒng)利用現(xiàn)代通信技術、Socket編程、數(shù)據(jù)采集、多線程以及面向?qū)?/p>

21、象等軟件開發(fā)技術實現(xiàn)系統(tǒng)管理、用戶驗證、網(wǎng)絡監(jiān)控、數(shù)據(jù)顯示等功能;其優(yōu)點是具有良好的人機交互性,便于用戶使用,同時不需要硬件設備的支持;具有較好的性價比。以遠程計算機的網(wǎng)絡管理為中心,實現(xiàn)信息,資源的共享和遠程管理。</p><p>  第一章主要介紹本課題的提出、研究背景,以及國內(nèi)外發(fā)展現(xiàn)狀;本章最后對本文的主要工作做了一個簡單的介紹。</p><p>  1.1 課題研究背景</

22、p><p>  自從1946年馮·諾伊曼提出“程序存儲”和“程序計算”,從而制造出人類歷史上的第一臺計算機以來,計算機就以無法抵擋的威力深入到人們生活的各個領域。而1969年開始建立名為ARPNET的網(wǎng)絡開始,到現(xiàn)在internet的全方位普及,計算機時刻都在深刻的影響著我們的生活。近年由于互聯(lián)網(wǎng)的飛速發(fā)展,計算機的應用逐漸擴展到了各個行業(yè)的內(nèi)部,為了實現(xiàn)內(nèi)部資源的共享,局域網(wǎng)的應用得到了飛快的發(fā)展。為了更

23、方便的獲取信息和實現(xiàn)資源共享,越來越多的公司企業(yè)、學校以及各種職能部門都實現(xiàn)了互聯(lián)網(wǎng)的連接。毋庸置疑在信息化社會的今天,極大的方便了企業(yè)內(nèi)部和企業(yè)間的協(xié)作,提高了企業(yè)的工作效率。然而利用網(wǎng)絡觀看網(wǎng)絡電視,聊QQ、瀏覽不良網(wǎng)站、或者由于誤操作、木馬病毒入侵造成企業(yè)秘密泄漏等也給企業(yè)造成很大的負面影響。據(jù)國外數(shù)據(jù)統(tǒng)計,開通互聯(lián)網(wǎng)辦公的企業(yè)中,企業(yè)員工平均每天有超過二分之一的上班時間用來上網(wǎng)聊天,瀏覽娛樂色情網(wǎng)站或者處理個人事務。這既浪費了有

24、限網(wǎng)絡資源,使網(wǎng)絡得不到充分的利用,也影響了正常的辦公業(yè)務。因此如何加強對計算機的管理,更好地利用網(wǎng)絡資源,成為了日益突出的問題。由于這些行為的隱蔽性和難管理性,因此</p><p>  監(jiān)控系統(tǒng)的一個簡單含義就是通過某種方法對一些特定情況進行實時跟蹤,如有異?,F(xiàn)象發(fā)生,則發(fā)出警報信息同時對異常進行相應的處理,而減輕了工作強度。從使用設備類型的角度上來劃分,監(jiān)控系統(tǒng)可以分為兩類:以硬件為主的監(jiān)控系統(tǒng)和以軟件為主的

25、監(jiān)控系統(tǒng)。前者主要是通過攝像頭和各種傳感器來完成監(jiān)控功能,例如銀行使用的閉路電視監(jiān)視系統(tǒng),就是采用攝像頭來錄制任意一個時刻營業(yè)廳周圍的場景;后者是隨著網(wǎng)絡和計算機的發(fā)展而產(chǎn)生的新的監(jiān)控系統(tǒng),互聯(lián)網(wǎng)的普及和發(fā)展,既帶來信息共享和資源交換方便的益處,同時也不可避免地帶來了消極的因素,如網(wǎng)絡病毒、惡意黑客程序等一直在威脅著計算機的安全,各種不健康的內(nèi)容充斥著互聯(lián)網(wǎng),嚴重影響了網(wǎng)絡的健康發(fā)展。為了抵御各種新的威脅,產(chǎn)生了以軟件為主的監(jiān)控系統(tǒng),這

26、類監(jiān)控系統(tǒng)主要以防火墻為代表,本文開發(fā)的遠程計算機網(wǎng)絡管理系統(tǒng)則屬于后者。</p><p>  1.2 國內(nèi)外研究現(xiàn)狀</p><p>  遠程計算機網(wǎng)絡管理系統(tǒng)主要是對遠程的某臺或者若干臺計算機進行監(jiān)控,用來查看任意一段時間內(nèi)被控端計算機的網(wǎng)絡情況,使用的是遠程控制技術。遠程控制軟件是在遠方機器允許的情況下,對其進行監(jiān)控的一類軟件。它由客戶端(Client)和服務器端(Server)兩部

27、分組成。Server 端是應用于被控端計算機上的軟件,Client 端是運行于監(jiān)控端計算機上的軟件。這與木馬技術具有很大的相似性均采用遠程監(jiān)控技術,只不過木馬具有隱蔽性和非授權性的特點。</p><p>  從遠程監(jiān)控程序的發(fā)展來看,基本上可以分為兩個階段,最初產(chǎn)生于以 UNIX 平臺為主要操作系統(tǒng)時期,當時木馬程序的功能相對簡單,往往是將一段程序嵌入到系統(tǒng)文件中,用跳轉(zhuǎn)指令來執(zhí)行一些木馬的功能,在這個時期木馬的

28、設計著和使用者大都是些技術人員,必須具備相當?shù)木W(wǎng)絡和編程知識。而后隨著 Windows 平臺的日益普及,一些基于圖形操作的木馬程序也出現(xiàn)了,用戶界面的改善,遠程監(jiān)控技術采用的技術也朝著一下幾個方面發(fā)展:</p><p>  1.跨平臺性:主要是針對 Windows 系統(tǒng)而言,如何讓監(jiān)控程序能夠在不同的Windows 平臺上運行是一個需要解決的難點。因為 Windows NT/2000/XP 都具有了權限的概念,這

29、和 Windows 95/98 是不同的。另外一般的監(jiān)控程序多少都使用了某些Windows 系統(tǒng)下特定的 APT,因此如何能夠設計出與 Windows 平臺版本無關的監(jiān)控系統(tǒng)是所有開發(fā)商們面臨的一個難點。</p><p>  2.模塊化設計:模塊化設計是一種潮流,現(xiàn)在的遠程監(jiān)控軟件同樣采用了模塊化設計的概念。</p><p>  3.更新更強的感染模式:傳統(tǒng)的修改 INI 文件和注冊表的手

30、法,已經(jīng)不能適應更加隱蔽的需要,目前很多木馬的感染方式已經(jīng)開始改變,象病毒一樣感染W(wǎng)indows 下的文件,監(jiān)控軟件也需要解決隱蔽性的問題,因此木馬的傳播方式仍然可以借鑒。</p><p>  4.即時通信:如果目標使用的是動態(tài) IP,以掃描方式找 IP 地址太慢,現(xiàn)在的木馬已經(jīng)有了即使通知的功能,如 IRC、ICQ 通知等。</p><p>  隨著網(wǎng)絡技術的飛速發(fā)展和監(jiān)控范圍的擴大,監(jiān)

31、控系統(tǒng)由過去的單機監(jiān)控過渡到現(xiàn)在的網(wǎng)絡監(jiān)控,但目前還存在著一些問題。</p><p>  首先,網(wǎng)絡通信技術不足的問題。網(wǎng)絡通信技術是遠程監(jiān)控技術中最為關鍵的技術,然而,目前網(wǎng)絡通信一般簡單采用 Socket 技術,甚至 FTP 或 E-Mail 等,這些技術無論在傳輸?shù)臄?shù)據(jù)量、編程的靈活性還是安全性方面都有很大的欠缺,特別是對于現(xiàn)場多個端點的數(shù)據(jù)采集,會大大增加編程的復雜度,不能滿足遠程監(jiān)控技術對網(wǎng)絡通信的需求

32、。</p><p>  其次,網(wǎng)絡通信中多種結構并存的問題。目前的遠程監(jiān)控系統(tǒng)結構大多比較復雜,分布距離遠,而且還存在著不同局域網(wǎng),不同平臺,甚至在同一局域網(wǎng)中的操作平臺以及編程語言也可能有不同的問題,這就要求集成網(wǎng)絡中的不同平臺,實現(xiàn)相互之間的通信,而這些問題采用傳統(tǒng)方法是難以解決的。</p><p>  遠程監(jiān)控是國內(nèi)外研究的前沿課題,國內(nèi)外都展開了積極的研究。1997 年 1 月,首

33、屆基于 Internet 的遠程監(jiān)控診斷工作會議由斯坦福大學和麻省理工學院聯(lián)合主辦,有來自 30多個公司和研究機構的 50 多位代表到會。會議主要討論了有關遠程監(jiān)控系統(tǒng)開放式體系、診斷信息規(guī)程、傳輸協(xié)議及對用戶的合法限制等,并對未來技術發(fā)展作了展望。</p><p>  1.3 本文的主要工作</p><p>  本課題采用了計算機網(wǎng)絡通信、多線程、木馬等多個領域技術同時整合在管理系統(tǒng)中使

34、整個系統(tǒng)具有良好的人機交互性、實時性、安全性、和可擴性。本課題要完成的主要任務是基于 C/S 模式的遠程計算機網(wǎng)絡管理系統(tǒng)設計開發(fā),從系統(tǒng)功能要求到具體模塊設計和實現(xiàn),重點完成客戶端和服務器端中各模塊的設計,并保證整個系統(tǒng)的易用性、實時性、安全性;并充分考慮后續(xù)階段的開發(fā)。</p><p>  第二章 系統(tǒng)使用基本概念</p><p><b>  2.1 RMON</b&g

35、t;</p><p>  遠程監(jiān)控(RMON)是一個標準監(jiān)控規(guī)范,它可以使各種網(wǎng)絡監(jiān)控器和控制臺系統(tǒng)之間交換網(wǎng)絡監(jiān)控數(shù)據(jù)。RMON為網(wǎng)絡管理員選擇符合特殊網(wǎng)絡需求的控制臺和網(wǎng)絡監(jiān)控探測器提供了更多的自由。RMON首先實現(xiàn)了對異構環(huán)境進行一致的遠程管理,它為通過端口遠程監(jiān)視網(wǎng)段提供了解決方案。主要實現(xiàn)對一個網(wǎng)段乃至整個網(wǎng)絡的數(shù)據(jù)流量的監(jiān)視功能,目前已成為成功的網(wǎng)絡管理標準之一。 </p><p&

36、gt;  遠程計算機網(wǎng)絡管理系統(tǒng)選擇采用RMON標準主要是為了更有效的管理計算機,通過積極主動地監(jiān)測遠程計算機的網(wǎng)絡狀況,做到快速發(fā)現(xiàn)網(wǎng)絡狀況異常,及時糾正網(wǎng)絡故障,防止病毒木馬等影響。RMON MIB的實現(xiàn)可以記錄某些網(wǎng)絡事件,可以記錄網(wǎng)絡性能數(shù)據(jù)和故障歷史,可以在任何時候訪問故障歷史數(shù)據(jù)以有利于進行有效地故障診斷。由于采用主動探測可以減少了本地計算機與遠程計算機之間的數(shù)據(jù)流量,使簡單而有力地管理大型網(wǎng)絡成為可能。 </p>

37、;<p>  下圖給出計算機遠程通信。</p><p>  圖2-1 計算機遠程通信</p><p>  2.2 C/S軟件開發(fā)模式</p><p>  隨著Internet網(wǎng)絡應用技術的發(fā)展,基于客戶/服務器的系統(tǒng)設計已經(jīng)被廣泛的應用于各類的系統(tǒng)的軟件設計和開發(fā)中,其基本思想是把應用分布在客戶機和服務器上,他主要是用于主從計算機的應用程序,其中的每一

38、臺計算機負責維護一項特別功能,這種變成方式改變了我們傳統(tǒng)的單機應用程序和系統(tǒng)實現(xiàn)方式。簡單的說,這種模型的工作方式就是Client端向Server端提出訪問請求,或者提交一個任務,Server端在接受該任務后,經(jīng)過一些處理,將處理結果返回給Client端。</p><p>  客戶機/服務器結構在最初階段是以終端/主機結構的形式出現(xiàn)的。這種體系結構使得用戶可以盡可能地使用共享資源。這里的共享資源包括了數(shù)據(jù)和程序的

39、共享。終端的任務只是簡單的輸入命令,顯示結果,而相關的工作一切都交給了主機去完成,在這樣的機構中,由于終端完成的工作很簡單,必須隨著信息業(yè)的發(fā)展經(jīng)常更新但是主機負責了所有數(shù)據(jù)的處理任務,隨著信息量的增加,它在功能和性能上也必須跟隨發(fā)展。</p><p>  終端/主機的結構特別是資源得到充分的共享,但用戶界面不友好,主機負荷過大,因此客戶機/服務器模式就產(chǎn)生了。從客戶/服務器應以上來說,它代表一個具有定義好的特定

40、功能平臺;也就是說,一個平臺指的就是一臺計算機所使用的軟件和硬件的組合,在一個兩層系統(tǒng)中。</p><p>  計算機圖形化的快速發(fā)展,網(wǎng)絡技術日益成熟,在各種遠程管理軟件中,C/S(Client/Server,客戶機/服務器)結構應日出成熟。C/S結構在最初階段是以終端/主機結構新式出現(xiàn)的,這種體系結構的能夠盡可能地使用共享該主機的資源,而終端只是負責提交數(shù)據(jù)和顯示數(shù)據(jù)而中間的處理數(shù)據(jù)由主機完成。但是隨著信息量

41、處理的增加,導致主機負荷過大,在這種情況下C/S模式由于客戶端和服務器端都有一套完整的應用程序都具備了數(shù)據(jù)處理的能力。</p><p>  圖2-2 C/S通信模型</p><p>  客戶機/服務器結構通?;譃樗膶?,從客戶機到服務器分別為:</p><p>  1.數(shù)據(jù)捕獲層:人機交互的捕獲和轉(zhuǎn)換,包括鍵盤,鼠標,虛擬現(xiàn)實接口設備和未來的語音,手勢和神經(jīng)傳導,以

42、及輸出設備如顯示器,打印機,磁帶機等。該層的編程操做是將數(shù)據(jù)以預定的格式展現(xiàn)出來。</p><p>  2.業(yè)務規(guī)則層:該層負責將數(shù)據(jù)轉(zhuǎn)換為業(yè)務關聯(lián)數(shù)據(jù)。增加有關業(yè)務規(guī)則的信息。業(yè)務規(guī)則層不處理數(shù)據(jù),僅僅是涉及規(guī)則。</p><p>  3.應用接口層:該層負責將業(yè)務關聯(lián)數(shù)據(jù)轉(zhuǎn)換為技術關聯(lián)數(shù)據(jù)。如SQL語句,以供應用服務器層使用。</p><p>  4.應用服務器

43、層:該層負責處理數(shù)據(jù),如存儲數(shù)據(jù)和計算出結果。</p><p>  這種體系結構最初的出現(xiàn)時為了緩解終端/主機結構中主機的繁重工作負擔,通過在客戶和服務器之間劃分各自所包含的層次,則可以提高應用的計算效率。于是將主機要做的一部分工作轉(zhuǎn)移到了客戶機上,顯然這也就增加了對客戶機的要求,但隨著PC業(yè)的發(fā)展,這一點已經(jīng)不成為什么問題了。</p><p>  在兩層結構的體系里,業(yè)務規(guī)則可能混雜在客

44、戶端的用戶界面控制流中,也可能潛入在服務器端的數(shù)據(jù)庫中,更常見的是客戶端和服務器端各實現(xiàn)一部分業(yè)務邏輯,通過網(wǎng)絡,客戶端把SQL語句,文件系統(tǒng)的調(diào)用以及其他請求送到服務器中,服務器對請求進行處理,然后把原始結果回送到客戶端。</p><p>  兩層結構的最大特點在于:具有成熟的設計開發(fā)方法和工具。經(jīng)過多年的積累,基于Client/Server模式的系統(tǒng)設計開發(fā)方法已經(jīng)被用戶所熟悉和掌握。并且,眾多的數(shù)據(jù)庫和軟件

45、生產(chǎn)商提供了各種可視化工具和編程語言來實現(xiàn)支持開發(fā)。交互性強,界面友好;各個Client上運行的應用程序是針對特定的用戶和任務設計的,同時具有在線幫助和提示出錯等等的功能。</p><p>  1.數(shù)據(jù)通信量小,安全性高。</p><p>  2.兩層結構對于規(guī)模相對來說較小,專用型的系統(tǒng)應用程序來說非常合適。</p><p>  2.3 網(wǎng)絡通信技術</p&

46、gt;<p>  2.3.1 socket簡介</p><p>  80年代初,美國政府的高級研究工程機構(ARPA)給加利福尼亞大學Berkeley分校提供了資金,讓他們在UNIX操作系統(tǒng)下實現(xiàn)TCP/IP協(xié)議。在這個項目中,研究人員為TCP/IP網(wǎng)絡通信開發(fā)了一個API(應用程序接口)。這個API稱為Socket接口(套接字)。今天,SOCKET接口是TCP/IP網(wǎng)絡最為通用的API,也是在IN

47、TERNET上進行應用開發(fā)最為通用的API。90年代初,由Microsoft聯(lián)合了其他幾家公司共同制定了一套WINDOWS下的網(wǎng)絡編程接口,即Windows Sockets規(guī)范。它是Berkeley Sockets的重要擴充,主要是增加了一些異步函數(shù),并增加了符合Windows消息驅(qū)動特性的網(wǎng)絡事件異步選擇機制。WINDOWS SOCKETS規(guī)范是一套開放的、支持多種協(xié)議的Windows下的網(wǎng)絡編程接口。從1991年的1.0版到1995

48、年的2.0.8版,經(jīng)過不斷完善并在Intel、Microsoft、Sun、SGI、Informix、Novell等公司的全力支持下,已成為Windows網(wǎng)絡編程的事實上的標準。目前,在實際應用中的WINDOWS SOKCETS</p><p>  Socket作為支持TCP/IP協(xié)議的網(wǎng)絡通信的基本操作單元.它提供了不同主機間進程通信的斷點,這些進程在通信前各自建立一個Socket,通過調(diào)用Socket的API實

49、現(xiàn)網(wǎng)絡通信,而Socket利用下層的網(wǎng)絡通信協(xié)議和操作系統(tǒng)的調(diào)用完成網(wǎng)絡通信。如圖2-3所示,這樣就屏蔽了網(wǎng)絡底層的結構和協(xié)議,應用程序在網(wǎng)絡上傳輸,接收數(shù)據(jù)都通過Socket接口來實現(xiàn),在應用開發(fā)中就像使用句柄一樣,可以對Socket句柄進行讀,寫操作。</p><p><b>  圖2-3網(wǎng)絡通信</b></p><p>  2.3.2 socket套接字編程原理

50、</p><p>  套接字有三種類型:流式套接字(Stream Socket)、數(shù)據(jù)報套接字(Datagram Socket)及原始套接字(Raw Socket)。</p><p>  流式套接字式是最常用的套接字是TCP/IP協(xié)議中TCP協(xié)議使用的接口。它提供可靠的面向連接服務。實現(xiàn)了無差錯無重復的順序數(shù)據(jù)傳輸。數(shù)據(jù)報套接字是TCP/IP協(xié)議中UDP協(xié)議的使用接口。它定義一種無連接的服

51、務,數(shù)據(jù)通過相互獨立的報文進行傳輸,是無序的,并且不保證可靠,無差錯。原始套接字允許對網(wǎng)絡底層協(xié)議(如IP和ICMP)直接訪問,主要用于新的網(wǎng)絡協(xié)議的測試等,不提供給普通用戶使用。</p><p>  一般情況下,我們使用流式套接字和數(shù)據(jù)報套接字來開發(fā)網(wǎng)絡通信程序,流式套接字提供高可靠的阿服務,數(shù)據(jù)報提供高效率的服務,高可靠的通信用于傳輸需要交換大量報文的場合如文件傳輸、遠程登陸等;高效率的通信用于一次傳輸交換少

52、量的報文如數(shù)據(jù)庫查詢等,其可靠性由應用程序保證,應為需要交換的信息較少,即使發(fā)生錯誤傳輸需要重傳也不會付出太大的代價。</p><p>  無連接服務器一般是面向事務處理的,一個請求一個應答就完成了客戶程序和服務程序之間的相互作用。若使用無連接的套接字編程,程序流程如圖2-4所示:</p><p>  圖2-4無連接的套接字的系統(tǒng)調(diào)用時序圖</p><p>  面向

53、連接服務器處理的請求比較復雜,不是一來一去的簡單的請求應答所能解決的,所以往往是并發(fā)服務,使用面向連接的套接字編程。</p><p>  圖2-5面向連接的套接字的系統(tǒng)調(diào)用時序圖</p><p>  2.3.3 通信方式選擇 </p><p>  在進行網(wǎng)絡開發(fā),首先必須選擇阻塞方式還是非阻塞方式進行通信。處于阻塞模式的函數(shù)轉(zhuǎn)調(diào)操作完成后才返回。由于調(diào)用這些函數(shù)

54、的套接字直到返回前不能做任何事,因此被稱為阻塞函數(shù)。而當套接字處于非阻塞模式時,API函數(shù)的調(diào)用立刻返回,大多數(shù)情況下這些調(diào)用都會“失敗”,并且返回一個“WSAEAEWOULDBLOCK”錯誤,這意味請求的操作在調(diào)用期間沒有時間完成。</p><p>  在網(wǎng)絡通訊中,由于網(wǎng)絡擁擠或一次發(fā)送的數(shù)據(jù)量過大等原因,經(jīng)常會發(fā)生數(shù)據(jù)交換的數(shù)據(jù)在短時間內(nèi)不能傳送完,收發(fā)數(shù)據(jù)的函數(shù)因此不能返回,這就造成了阻塞。利用調(diào)用函數(shù)r

55、ecv()時,如果數(shù)據(jù)還未到達,系統(tǒng)則在此掛起,直到數(shù)據(jù)到達或接收到高級的中斷信號為止。WinSock對有可能阻塞的函數(shù)提供了兩種處理方式:同步和異步方式。在同步方式下,收發(fā)數(shù)據(jù)的函數(shù)在被調(diào)用后一直要到傳送完畢或者出錯才能返回。對于異步方式,函數(shù)被調(diào)用后立即返回,當傳送完成后WinSock給程序發(fā)送一個實現(xiàn)約定好的消息。</p><p>  Berkeley Socket一般采用阻塞的工作方式,這種方式比較適合U

56、NIX操作系統(tǒng)。而Windows下不再適用了。因為一旦發(fā)生阻塞,CPU的控制權會一直被占用,容易發(fā)生死機。因此,Windows Socket在Berkeley Socket基礎上進行了擴充,提供了一些異步函數(shù),增加了符合Window:消息驅(qū)動特性的網(wǎng)絡事件異步選擇機制,以開發(fā)符合Windows特性的高效率的網(wǎng)絡程序。</p><p>  在Windows環(huán)境下開發(fā)網(wǎng)絡通信盡量要采用非阻塞方式操作,因為非阻塞方式在

57、非搶先Windows操作系統(tǒng)下能夠更好得工作。Windows Socket通過異步選擇函數(shù)WSAAsyncSelectQ來實現(xiàn)非阻塞通信,它提供了對網(wǎng)絡事件基于消息的異步存取,可用該函數(shù)注冊應用程序感興趣的網(wǎng)絡事件,如有數(shù)據(jù)到達、可以發(fā)送數(shù)據(jù)或有程序請求連接等網(wǎng)絡事件發(fā)生時,會調(diào)用 WINSOCK.DLL向窗口應用程序發(fā)送特定的消息,程序就可以根據(jù)消息作相應處理。</p><p>  2.3.4 套接字工作流程&

58、lt;/p><p><b>  1.創(chuàng)建套接字</b></p><p>  程序在通信前,首先必須擁有一個套接字,系統(tǒng)調(diào)用socket()向應用</p><p>  程序提供創(chuàng)建套接字的手段,其調(diào)用格式如下:</p><p>  Dim clientSocket as New Socket(AddressFamily.Int

59、erNetwork,SocketType.Stream, _ProtocolType.Tcp)</p><p>  socket的創(chuàng)建需要三個參數(shù):AddressFamily枚舉指定Socket類用來解析網(wǎng)絡地址的標準地址族,AddressFamily.InterNetwork是成員指定使用IP 版本4地址族。SocketType枚舉指定套接字的類型,SocketType.Stream 成員表示一個用于發(fā)送和接收

60、數(shù)據(jù)并且支持流控制的標準套接字。ProtocolType 枚舉指定在Socket上通信時使用的網(wǎng)絡協(xié)議ProtocolType.Tcp指示套接字使用TCP;ProtocolType.Udp指示套接字使用UDP。</p><p>  2.配置socket</p><p>  當一個套接字用socket()創(chuàng)建后,需要使用制定本地的終結點。bind()將套接字地址(包括本地主機地址和本地端口地

61、址)與所創(chuàng)建的套接字號關系起來,即將名字賦予套接字,以指定與本地相關。調(diào)用Bind之前,必須首先創(chuàng)建打算從其進行數(shù)據(jù)通信的本地IPEndPoint。如果對制定的套接字地址沒有要求,則可以用IPAddress.Any作為地址參數(shù)創(chuàng)建一個IPEndPoint,這樣,基礎服務提供程序?qū)峙渥钸m合的網(wǎng)絡地址。如果本地存在多個網(wǎng)絡接口,這將有助于簡化應用程序。同樣對于端口不需特定的話,則可以創(chuàng)建一個使用0作為端口號的 IPEndPoint。在這

62、種情況下,服務提供程序?qū)峙湟粋€可用的端口號。</p><p><b>  其調(diào)用方法如下:</b></p><p>  Dim localEndPoint As New IPEndPoint(Address.ToString 12345) clinetSocket.Bind(localEndPoint)</p><p>  采用面向連接的服

63、務器需要使用listen()來監(jiān)聽端口同時指出接受請求的隊列長度,其調(diào)用方法如下:</p><p>  listener.Listen(1) '由于該系統(tǒng)使用P2P控制所以設定隊列長度為1</p><p>  Dim handler As Socket = listener.Accept() '同意接入請求</p><p>  3.建立套接字連接c

64、onnect()和accept()</p><p>  這兩個函數(shù)調(diào)用用于完成一個完整相關的連接,其中connect()用于建立連接。無連接的套接字進程也可以調(diào)用connect(),但這時在進程之間沒有實際的報文交換,調(diào)用將從本地操作系統(tǒng)直接返回。這樣做的優(yōu)點是不必為每一數(shù)據(jù)指定目的地址,而且如果收到的一個數(shù)據(jù)報,其目的端口未與任何套接字建立“連接”,便能判斷該端口不可操作。而accept()用于使服務器等待來自

65、某客戶進程的實際連接。connect()的調(diào)用方法如下:</p><p>  Public Sub Connect( ByVal remoteEP As EndPoint)</p><p>  accept()用于面向連接服務器。參數(shù)addr和addrlen存放客戶方的地址信息。調(diào)用前,參數(shù)addr指向一個初始值為空的地址結構,而addrlen的初始值為0;調(diào)用accept()后,服務器等

66、待從編號為s的套接字上接受客戶連接請求,而連接請求是由客戶方的connect()調(diào)用發(fā)出的。當有連接請求到達時,accept)調(diào)用將請求連接隊列上的第一個客戶方套接字地址及長度放入addr和addrlen,并創(chuàng)建一個與S有相同特性的新套接字號。新的套接字可用于處理服務器并發(fā)請求。accept()調(diào)用方法如下:</p><p>  Public Function Accept() As Socket</p&g

67、t;<p>  4.數(shù)據(jù)傳輸send()和receive()</p><p>  當socket建立完成后,調(diào)用這兩個函數(shù)用來傳輸數(shù)據(jù)。send()調(diào)用用于在參數(shù)s指定的己連接的數(shù)據(jù)報或流套接字上發(fā)送輸出數(shù)據(jù),其格式如下:</p><p>  Overloads Public Function Send( ByVal buffer() As Byte ) As Integer

68、</p><p>  receive()調(diào)用用于在參數(shù)S指定的已連接的數(shù)據(jù)報或流套接字上接收輸入數(shù)據(jù),格式如下:</p><p>  Overloads Public Function Receive( ByVal buffer() As Byte ) As Integer</p><p>  5.socket關閉</p><p>  Clo

69、se 方法可關閉遠程主機連接,并釋放所有與 Socket 關聯(lián)的托管資源和非托管資源。調(diào)用方法如下:</p><p>  Public Sub Close()</p><p><b>  2.4 多線程技術</b></p><p>  線程是進程的一條執(zhí)行路徑,他包含獨立的堆棧和CPU寄存器狀態(tài),每個線程共享所有的進程資源,一個進程內(nèi)的所有線程

70、使用同一個地址空間,而這些線程的執(zhí)行由系統(tǒng)調(diào)度程序控制,調(diào)度程序決定哪個線程可執(zhí)行以及什么時候執(zhí)行線程。線程有優(yōu)先級別,優(yōu)先權較低的線程必須等到優(yōu)先權較高的線程執(zhí)行完后再執(zhí)行。在多處理器的機器上,調(diào)度程序可將多個線程放到不同的處理器上運行,以提高系統(tǒng)的運行效率。</p><p>  線程是進程內(nèi)部的一個可執(zhí)行路徑,它是CPU調(diào)度的單位,是進程的一個執(zhí)行單元。所謂的多線程就是一個進程內(nèi)可以有一個或多個可獨立執(zhí)行的單

71、元,每個單元就是一個線程。</p><p>  一個應用程序可以創(chuàng)建多個線程,多個不同的執(zhí)行流,并同時運行這些線程。線程機制使系統(tǒng)具有了多任務功能,這樣用戶就可以同時運行多個運用程序,且在每一個應用程序中又可以同時運行多個線程。這樣多個線程并發(fā)地在同一進程中。一個進程至少擁有一個線程,即主線程。主線程終止,進程亦終止。主線程以函數(shù)地址形式(通常為Main或winmain函數(shù)的地址)被啟動代碼提供給操作系統(tǒng)。另外,

72、可以根據(jù)需要創(chuàng)建其它線程,每個線程都共享創(chuàng)建它們進程的內(nèi)存空間,全部變量和系統(tǒng)資源。</p><p>  在.NET Framework 中用來創(chuàng)建和維護線程的基類是System.Threading .Thread類。它能夠創(chuàng)建并控制線程,設置其優(yōu)先級并獲取其狀態(tài);擁有Start, Stop, Resume, Abort, Suspend和Join(waitfor)等方法操縱線程;還可以通過如Sleep, Is

73、Alive, IsBackground,Priority, A part-mentState和ThreadState等方法查詢和設置線程狀態(tài)。</p><p><b>  1.創(chuàng)建線程</b></p><p>  創(chuàng)建線程非常容易,最簡單直接的方法是創(chuàng)建一個新的Thread對象,然后傳遞給它的一個委托,也就是指向某類方法的一個引用就啟動了這個線程。代碼如下:<

74、;/p><p>  Dim t As New Thread(AddressOf ThreadProc)</p><p><b>  t.Start()</b></p><p><b>  2.掛起線程</b></p><p>  t.Suspend()</p><p>  2.5

75、 開發(fā)平臺-------Visual Basic 2005</p><p>  Microsoft Visual Basic 2005 從 Visual Basic 語言演變而來,是一種為高效地生成類型安全和面向?qū)ο蟮膽贸绦蚨O計的語言。與所有面向 Microsoft .NET Framework 的語言一樣,使用 Visual Basic 編寫的程序都具有安全性和語言互操作性方面的優(yōu)點。它延續(xù)了基于 .NET

76、 Framework 的應用程序的傳統(tǒng)。并恢復了對“編輯并繼續(xù)”的支持,并具有可快速開發(fā)應用程序的新功能。其中一種稱為 My 的功能提供了對以下內(nèi)容的快速訪問:由 .NET Framework 提供的常見任務,與應用程序及其運行時環(huán)境相關的信息和默認對象實例。新的語言功能包括循環(huán)繼續(xù)、有保證的資源處置、運算符重載、泛型類型和自定義事件。Visual Basic 與 .NET Framework 和公共語言運行庫 (CLR) 完全集成,它

77、們提供了語言互操作、垃圾回收、增強的安全性和版本管理支持。</p><p>  第三章 面向?qū)ο蟪绦蛟O計方法</p><p>  3.1 面向?qū)ο笏枷?lt;/p><p>  面向?qū)ο?Object-Oriented)技術是目前流行的軟件設計開發(fā)技術,包括面向?qū)ο蠓治龊兔嫦驅(qū)ο笤O計兩個方面的內(nèi)容。面向?qū)ο蠹夹g以其獨特的抽象性、封裝性、繼承性和多態(tài)性為軟件開發(fā)帶來了一場變

78、革,與以前的結構化技術相比,它具有高效率的軟件開發(fā),高可靠的軟件運行,方便的調(diào)試、維護和擴充等優(yōu)點。</p><p>  面向?qū)ο蟪绦蛟O計的特征可以概括為以下幾個方面:</p><p>  第一,抽象性。抽象是人們認識客觀世界的復雜性的一種基本方法。抽象是事物或現(xiàn)象的簡單描述,突出事物或現(xiàn)象之間的共性,而暫時不考慮它們之間的差別。抽象分為兩個方面:一是過程抽象,二是數(shù)據(jù)抽象。抽象性按照人類

79、的通常思維來描述問題,可以把大問題分解成小問題,小問題又可以分解成更小的問題來解決。每個小問題都可以是一個獨立的模塊,這種思維的方式非常有利于復雜問題的解決。</p><p>  第二,封裝性。對象是屬性數(shù)據(jù)和對屬性數(shù)據(jù)進行操作的集合體。而“封裝”把這些數(shù)據(jù)和操作屏蔽起來,使用戶不必知道對象行為的實現(xiàn)細節(jié),只需要根據(jù)對象提供的外部特性接口訪問對象即可。封裝性保證了模塊具有較好的獨立性,對應用軟件的修改僅限于“類”

80、的內(nèi)部,使得軟件的維護修改較為容易,并且將這些改動所帶來的影響減少到最低限度,大大提高了軟件開發(fā)的效率和軟件的可靠性。</p><p>  第三,繼承性。繼承性是一種表示對象之間相似性的機制,它使得某類對象可以有另一類對象的特征和行為。不需要對原有的“類”進行任何修改,或是只需要添加一些新的成員,便可以得到新的類。這樣,可以把已有的模塊作為軟件的可重用資源,大大提高了軟件的開發(fā)效率。</p><

81、;p>  第四,多態(tài)性。不同對象接收到相同的消息時,會產(chǎn)生不同的動作。所以,當實際情況發(fā)生變化時,比如一個對象接收一個消息后的動作要發(fā)生變化時,我們只需要改變這個動作實現(xiàn)即可,其它各個地方都不需要做出任何的改變。因而這種軟件具有良好的穩(wěn)定性,以不變應萬變的靈活性,可以大大減少維護的費用。</p><p>  Visual Basic 2005作為一種面向?qū)ο蟮某绦蜷_發(fā)工具。它的三大支柱技術:封裝性、繼承性和

82、多態(tài)性,充分體現(xiàn)了面向?qū)ο笏枷氲木?。整個系統(tǒng)的開發(fā),就是建立在這三大支柱技術的基礎之上。</p><p>  3.2 面向?qū)ο箝_發(fā)在系統(tǒng)中的應用</p><p>  由于面向?qū)ο蟮能浖_發(fā)技術具有優(yōu)越的性能,很快在科研的各個領域中得到廣泛的應用,計算機監(jiān)控系統(tǒng)也不例外。目前,面向?qū)ο蟮能浖O計方法己經(jīng)滲透到計算機監(jiān)控系統(tǒng)軟件開發(fā)的許多方面,給開發(fā)計算機監(jiān)控軟件帶來了巨大的方便。</

83、p><p>  運用面向?qū)ο蟮能浖_發(fā)技術可以較為容易地分析計算機監(jiān)控系統(tǒng)的功能,進行功能模塊的劃分,進而進行基本“類庫”的創(chuàng)建、進行數(shù)據(jù)操作的封裝。在計算機監(jiān)控系統(tǒng)中,這些“類庫”的功能應該反映計算機監(jiān)控系統(tǒng)的實際應用情況。同時,對于新增加的功能,類也要具有良好的包容性,當某一部分的功能發(fā)生改變時,也不會影響其它功能的正常實現(xiàn)。</p><p>  現(xiàn)代社會發(fā)展很快,對計算機監(jiān)控軟件的功能要

84、求也瞬息萬變,因此,面向?qū)ο蟮能浖_發(fā)技術可很好地適應這一要求,使軟件開發(fā)者可以快速地開發(fā)出安全、穩(wěn)定、實用、高效的計算機監(jiān)控軟件。</p><p>  第四章 遠程計算機管理軟件實現(xiàn)</p><p>  4.1 系統(tǒng)要求及功能要求</p><p>  4.1.1 系統(tǒng)要求</p><p>  雖然該系統(tǒng)是單純的遠程計算機網(wǎng)絡管理不涉及硬件接

85、入,所以有別于傳統(tǒng)意義上用于計算機控制技術的監(jiān)控系統(tǒng),但是在系統(tǒng)要求上仍然必須具備以下三個特點: </p><p>  1.時效性:這里的時效性包括實時性和分時性。遠程計算機管理系統(tǒng)作為一種實時計算機系統(tǒng)。實時性就是計算機監(jiān)控系統(tǒng)區(qū)別于其它普通計算機系統(tǒng)的關鍵特點,也是衡量一個計算機監(jiān)控系統(tǒng)性能的一個重要指標。實時性有以下幾層涵義:首先是服務器端對客戶端請求的及時響應能力;其次是系統(tǒng)實時的監(jiān)控數(shù)據(jù)。分時性主要是系

86、統(tǒng)主要采用請求應答的方式處理,所以只需在請求的時間上做出反應既可。</p><p>  2.可靠性:計算機監(jiān)控系統(tǒng)的可靠性是指系統(tǒng)無故障運行的能力?,F(xiàn)場過程在連續(xù)運行,計算機系統(tǒng)也必須同步連續(xù)運行,并對現(xiàn)場過程進行監(jiān)測和控制。即使系統(tǒng)由于其他原因出現(xiàn)故障和錯誤,計算機監(jiān)控系統(tǒng)仍能照常運行、做出實時響應并記錄下完整數(shù)據(jù)??煽啃猿S谩捌骄鶡o故障運行時間”,即平均的故障間隔時間MTBF(mean time betwee

87、n failures)來衡程序</p><p>  3.安全性:安全性是遠程計算機網(wǎng)絡管理系統(tǒng)極為關鍵的設計環(huán)節(jié)?,F(xiàn)在,網(wǎng)絡上惡意代碼、木馬、黑客程序泛濫成災。通過網(wǎng)絡進行信息盜取和數(shù)據(jù)破壞的情況日益猖撅,對于開放了端口的服務器端造成了重大威脅。因此為了保障服務器端的安全性。既要做到遠程接入用戶安全認證,同時也要做到服務器端信息的存貯安全和傳輸安全,就要采取措施(如,數(shù)據(jù)加密技術等等)防止有人惡意修改和竊取信息。

88、</p><p>  4.1.2 功能要求</p><p>  近年來出現(xiàn)了很多遠程計算機管理軟件。如諾頓公司的PCANYWHERE,同時一些木馬程序?qū)τ陂_發(fā)遠程計算機網(wǎng)絡管理系統(tǒng)也有一定的借鑒作用,通過對同類系統(tǒng)的比較和研究的范圍,本軟件必須具有以下基本功能:</p><p>  1.客戶端可以按需察看服務器(遠程計算機)的網(wǎng)絡連接狀態(tài)。</p>&

89、lt;p>  2.客戶端可以統(tǒng)計某一時間點的IP、TCP、UDP等統(tǒng)計數(shù)據(jù)。</p><p>  3.客戶端可以根據(jù)端口關聯(lián)進程。</p><p>  4.客戶端可以根據(jù)需要阻塞服務器某個端口通信。</p><p>  5.客戶端可以控制服務器的重啟動,關機等操作。</p><p>  6.客戶端可以向服務器端發(fā)送信息,用于兩端通信之間

90、的溝通。</p><p>  7.客戶端可以獲取服務器端進程和服務信息,并且根據(jù)需要終止進程和服務。</p><p>  同時為了形成功能更加強大的遠程計算機管理系統(tǒng),它應該還具備以下擴展功能:</p><p>  1.客戶端實時監(jiān)控服務器端屏幕信息</p><p>  2.客戶端可以控制遠程計算機的鍵盤和鼠標,并且記錄鍵盤輸入的信息。<

91、;/p><p>  3.客戶端對服務器端磁盤文件進行各種操作包括察看,修改,增刪。并且可以復制實現(xiàn)客戶端和服務器端的文件傳輸。</p><p>  同時為了實現(xiàn)客戶端/服務器端的協(xié)調(diào)工作,我們必須設定一個用于通信的規(guī)則如下:</p><p><b>  1.客戶端發(fā)送規(guī)范</b></p><p>  消息傳遞:SINFO+消

92、息內(nèi)容</p><p>  獲取TCP表:GTCPT</p><p>  獲取UDP表:GUDPT</p><p>  獲取IP統(tǒng)計:GIPC</p><p>  獲取TCP統(tǒng)計:GTCPC</p><p>  獲取UDP統(tǒng)計:GUDPC</p><p>  刪除網(wǎng)絡連接:CUTP+信息<

93、/p><p>  關聯(lián)進程:PROCESSANDPORT+端口</p><p>  強制關機:CLOSE</p><p><b>  退出系統(tǒng):EXIT</b></p><p>  獲取進程:GPROCESS</p><p>  2.服務器端發(fā)送規(guī)范</p><p>  消息傳

94、遞:SINFO+消息內(nèi)容</p><p>  發(fā)送TCP表:RTCPT+內(nèi)容</p><p>  發(fā)送UDP表:RUDPT+內(nèi)容</p><p>  發(fā)送IP統(tǒng)計:RIPC+內(nèi)容</p><p>  發(fā)送TCP統(tǒng)計:RTCPC+內(nèi)容</p><p>  發(fā)送UDP統(tǒng)計:RUDPC+內(nèi)容</p><p

95、>  發(fā)送PORT數(shù)據(jù):RPORT+內(nèi)容</p><p><b>  退出系統(tǒng):EXIT</b></p><p>  4.2 系統(tǒng)采用主要技術 </p><p><b>  1.TCP通信技術</b></p><p>  主要是基于TCP/IP傳輸協(xié)議的套接字通信技術。包括套接字類型的選擇、創(chuàng)

96、建、配置到數(shù)據(jù)的發(fā)送和接收等技術。</p><p><b>  2.端口的選擇</b></p><p>  套接字的通信需要選擇一個合適的端口,一般的選擇在1000以上,而且越大越好,因為1000以下的端口是常用端口。而且使用端口比較大的需要比較長的時間才能發(fā)現(xiàn)。</p><p>  3.網(wǎng)絡端口掃描技術</p><p>

97、;  設定一定的端口掃描范圍,然后創(chuàng)建socket,通過socket的connect方法來接受受控端的IP地址及對應的端口,檢測非法的開放端口。</p><p>  4.多線程處理技術 </p><p>  本文的多線程技術主要是通過使用多線程機制,完成數(shù)據(jù)的發(fā)送、接受和傳輸。</p><p>  5.windows API函數(shù)</p><p&g

98、t;  “遠程計算機網(wǎng)絡管理系統(tǒng)”很多功能都是通過大量的Windows API函數(shù)實現(xiàn),例如獲得網(wǎng)絡狀態(tài)表,獲得系統(tǒng)信息,進程等等</p><p><b>  6.木馬技術</b></p><p>  該程序的服務器端程序具有開機自啟動。</p><p>  4.3 遠程計算機網(wǎng)絡管理軟件的設計框架</p><p>  

99、遠程計算機網(wǎng)絡管理軟件采用C/S模式,服務器端用于遠程計算機中,客戶端位于本地計算機中。服務器端執(zhí)行客戶端發(fā)來請求要求,并且將應答結果在客戶端中表現(xiàn)出來,從而實現(xiàn)監(jiān)控與被監(jiān)控的目的。</p><p><b>  圖4-1系統(tǒng)模塊圖</b></p><p><b>  客戶端模塊:</b></p><p>  1.主框架:該

100、框架借鑒管理軟件框架,采用窗口對話框,按鈕等簡單的圖形化界面使得該框架具有良好得人機交互性,控件的屬性使用通用的命名方式采用同一資源簡單輕易的轉(zhuǎn)化成多語言版本的遠程控制軟件。保留服務,進程管理,屏幕監(jiān)控等功能給軟件的可擴展性留下了很大的空間,只需要將需要的模塊直接添加進去,實現(xiàn)無逢結合。</p><p>  2.網(wǎng)絡模塊:負責連接客戶端,向服務端發(fā)送獲取服務段網(wǎng)絡連接狀態(tài)命令,統(tǒng)計TCP、UDP、IP數(shù)據(jù)包以及丟

101、包,延時等屬性信息;監(jiān)聽某一個端口對通過該端口的數(shù)據(jù)量實時監(jiān)控;接受來自客戶端的數(shù)據(jù)包。</p><p>  3.同步模塊:為了使客戶端與服務器端可以協(xié)同工作,必須對軟件通信過程制定同步規(guī)則,使得該軟件可以通過該規(guī)則正常有序的通信。</p><p> ?。矗當?shù)據(jù)包顯示:網(wǎng)絡模塊接受的數(shù)據(jù)包通過同步模塊進行分類,然后在該模塊中顯示出來。</p><p><b&g

102、t;  服務器端模塊:</b></p><p> ?。保W(wǎng)絡模塊:負責監(jiān)聽網(wǎng)絡遠程的連接,接受客戶端發(fā)送的服務請求,發(fā)送服務應答。</p><p> ?。玻幚砟K:執(zhí)行客戶端的服務請求。</p><p>  3.同步模塊:負責與服務器端協(xié)同工作。</p><p>  4.4 遠程計算機網(wǎng)絡管理系統(tǒng)核心功能及實現(xiàn)</p>

103、;<p>  4.4.1系統(tǒng)界面設計</p><p>  為了滿足具有良好的人機交互性的要求,系統(tǒng)客戶端使用的用戶界面是核心要求。因為用戶是通過界面直接和計算機交互的,它展示了系統(tǒng)給用戶的感覺。Theo Mndel(美國計算機學家)關于軟件界面設計的著作中提出了三條黃金規(guī)則:</p><p> ?。保層脩羧タ刂朴嬎銠C是指設計軟件界面時,要給使用它的用戶以更多的自由,而不是以

104、界面約束和界面限制來強迫用戶操作以簡化交互模式,即讓用戶的主動性更大一些,讓用戶來控制計算機,而不是用計算機來控制用戶。</p><p>  2.減少用戶的記憶負擔是指用戶必須記住的東西越多,和系統(tǒng)交互時出錯的可能性也</p><p>  就越大。只要可能,系統(tǒng)就應該“記住”有關的信息,并通過能夠幫助回憶的交互場景來輔助用戶與計算機交互。</p><p>  3.保

105、持界面的一致是用戶應以一致的方式展示和獲取信息,這樣才不會造成用戶對信息的理解錯誤。</p><p>  遠程計算機網(wǎng)絡管理系統(tǒng)客戶端結合Theo Mandel提出的三條黃金規(guī)則的要求,同時考慮客戶端的實際情況,向用戶提供了方便靈活的與用戶交互的界面,并注意保持界面的一致性,同時,采用多種方式給用戶以信息提示,減少用戶的記憶。如圖4-2所示:它具有包括菜單欄,工具欄、狀態(tài)欄等等。</p><p

106、><b>  圖4-2系統(tǒng)客戶端</b></p><p> ?。保藛螜诎ㄎ募?、監(jiān)控命令、窗口三個菜單項。所有子窗口的打開都是從這些開始的,其中文件中包括用戶登錄、系統(tǒng)設置、斷開連接、退出四個子菜單項。其中系統(tǒng)設置包括端口號選擇、日志文件的存儲位置等。監(jiān)控中包括網(wǎng)絡監(jiān)控,屏幕監(jiān)控子菜單項。命令包括:查看進程、關機、消息傳遞等。窗口中包括垂直,水平,平鋪,排列四個子菜單項。</p

107、><p> ?。玻ぞ邫诎▽崟r監(jiān)視,停止監(jiān)視、消息、幫助按鈕。其中工具欄為所有子窗口共用所以根據(jù)當前活動子窗口所需按鈕在工具欄反應出來。</p><p> ?。常疇顟B(tài)欄用于顯示連接狀態(tài)、遠程IP和時間等,方便用戶使用,了解當前狀態(tài)。</p><p>  4.4.2 通信模塊</p><p><b>  1.客戶端通信模塊</b&

108、gt;</p><p>  通信模塊采用多線程編程,其中多線程用于接受信息處理。首先創(chuàng)建一個Socket方法如下:</p><p>  Dim remoteEP As New IPEndPoint(Net.IPAddress.Parse(frmSetting.txt_ip.Text), frmSetting.txt_port.Text)</p><p>  cliS

溫馨提示

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

評論

0/150

提交評論