局域網中遠程桌面監控系統.doc_第1頁
局域網中遠程桌面監控系統.doc_第2頁
局域網中遠程桌面監控系統.doc_第3頁
局域網中遠程桌面監控系統.doc_第4頁
局域網中遠程桌面監控系統.doc_第5頁
已閱讀5頁,還剩49頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

局域網中遠程桌面監控系統的設計與實現 摘 要 I 局域網遠程桌面監控系統的設計與實現 摘 要 遠程桌面監控系統可以讓本地計算機通過局域網訪問不同的遠程計算 機 并對其進行操作 維護人員可以通過本系統實時地監控聯網計算機的 運行情況 根據需要隨時改變聯網計算機系統設置 對出現故障的計算機 能夠通過網絡及時修復 管理人員通過本系統可以規范員工對計算機的使 用 及時發現并解決工作中存在的問題 本系統可以在不同平臺上運行 實現運行不同桌面操作系統的計算機 之間的相互監控 該系統對遠程主機的監控主要包括 實時監視桌面狀態 修改系統配置文件 控制鼠標 鍵盤的基本操作 本系統采用 Java 語言實 現 開發工具采用 NetBeansIDE6 7 開發 本文介紹了局域網中遠程桌面監控系統的分析 設計和開發的全部過 程 運用功能結構圖 程序流程圖等對遠程桌面監控子系統的設計過程進 行詳細的說明 首先簡單介紹了遠程桌面監控系統的應用前景以及面臨問 題 介紹了系統的總體目標以及用戶需求 設計了系統的基本框架和各個 模塊的功能 然后主要介紹了各個功能模塊的具體實現步驟 并對模塊中 用到的類 構造函數和主要方法做了簡單的說明 最后給出了測試方法和 結果 對系統的優缺點進行了總結 關鍵詞關鍵詞 遠程桌面監控遠程桌面監控 Java Socket JPEG RMI Design and Implementation of RDMS Abstract I Design and Implementation of Remote Desktop Monitoring System in LAN Abstract RDMS enables the local computer to control a different remote computer through the LAN In the system the administrator can monitor the operation of a remote computer change the remote computer s system settings repair faults in remote host The administrator can regulate the use of staff on the computer to discover and resolve problems This system can run on different platforms to achieve monitoring between computers running different operating systems The system for remote monitoring and control console includes real time monitoring desktop status modify the system configuration files control the mouse keyboard basic operations The system is developed in Java language implementation development tools are NetBeansIDE6 7 This paper describes analysis design and development process of RDMS Functional structure diagram program flow chart are used in system design process First RDMS application prospects as well as the problems faced is introduced the overall system objectives and user requirements are described Design of the system basic framework and functions of each module are discussed the various functional blocks of concrete implementation steps modules used in class constructor and main method of doing a simple description are given Finally test methods and results advantages and disadvantages of the system are summarized Keywords Remote Desktop Monitoring Java Socket JPEG RMI 局域網中遠程桌面監控系統的設計與實現 目 錄 I 目 錄 第第 1 1 章章引引 言言 1 第第 2 2 章章需求分析需求分析 3 2 1系統設計背景與總體目標系統設計背景與總體目標 3 2 1 1系統設計的背景 3 2 1 2系統設計的總體目標 3 2 2用戶需求用戶需求 3 2 2 1功能需求 3 2 2 2性能需求 4 第第 3 3 章章可采用的技術方案與可行性分析可采用的技術方案與可行性分析 5 3 1可采用的技術方案可采用的技術方案 5 3 1 1套接字 Socket 5 3 1 2JPEG 壓縮技術 6 3 1 3Java 的 RMI 技術 7 3 2可行性分析可行性分析 9 3 2 1技術可行性 9 3 2 2經濟可行性 9 3 3編程語言與開發工具編程語言與開發工具 10 3 3 1Java 編程語言 10 3 3 2NetBeans 開發工具 10 第第 4 4 章章系統分析與設計系統分析與設計 12 4 1系統基本框架系統基本框架 12 4 2系統總體設計與功能結構系統總體設計與功能結構 13 4 3主控端系統設計與功能結構主控端系統設計與功能結構 13 4 3 1配置管理模塊 14 4 3 2顯示遠程桌面模塊 15 4 3 3遠程控制模塊 16 4 4被控端設計功能結構被控端設計功能結構 17 4 4 1配置管理模塊 17 局域網中遠程桌面監控系統的設計與實現 目 錄 II 4 4 2發送桌面信息模塊 18 4 4 3響應控制模塊 19 第第 5 5 章章系統實現系統實現 20 5 1系統實現思路系統實現思路 20 5 2主控端程序 主控端程序 Client Program 22 5 2 1配置管理模塊中的基本操作功能 22 5 2 2配置管理模塊中的掃描可連主機功能 27 5 2 3顯示遠程桌面模塊中的桌面顯示功能 30 5 2 4顯示遠程桌面模塊中的附屬功能 34 5 2 5遠程控制模塊 34 5 3被控端程序 被控端程序 ServiceProgram 35 5 3 1配置管理模塊中的安全管理功能 35 5 3 2配置管理模塊中的系統基本設置功能 37 5 3 3發送桌面信息模塊 39 5 3 4響應控制模塊 42 第第 6 6 章章測測 試試 45 6 1主控端測試主控端測試 45 6 1 1對基本操作功能的測試 45 6 1 2對掃描可連主機功能的測試 45 6 1 3對遠程控制功能的測試 45 6 2被控端測試被控端測試 45 6 2 1對連接密碼的驗證測試 45 6 2 2創建存儲密碼文件的測試 46 6 3測試結果測試結果 46 第第 7 7 章章結結 論論 47 致致 謝謝 48 參考文獻參考文獻 49 局域網中遠程桌面監控系統的設計與實現 第 1 章 1 第 1 章 引 言 網絡的誕生拓展了計算機的應用范圍 網絡的迅速發展在提高生產效 率的同時也改變了人們的工作方式 現在有很多公司 企事業單位都建立 了自己的內部網絡 對于維護人員來說 希望能夠通過網絡實時的監控聯 網計算機的運行情況 希望根據需要通過網絡隨時改變聯網計算機的設置 希望對出現故障的計算機能夠通過網絡及時排除故障 對于管理人員來說 希望通過網絡隨時了解員工的工作進展情況和規范員工對計算機的使用以 及解決工作中存在的問題 為此 希望編寫一個適合于局域網的桌面監控 程序以滿足上述需求 本系統就在這樣的需求環境下孕育而生了 遠程控制技術是指用本地計算機通過網絡去控制一臺或多臺遠程主機 的技術 當用戶使用本地計算機控制遠程主機時 就如同坐在遠程主機的 屏幕前一樣 可以啟動遠程主機的應用程序 可以使用遠程主機的文件資 料 甚至可以利用遠程主機的外部打印設備和通信設備來進行打印和訪問 互聯網 不過 在遠程主機中所運行的程序 所打開的文件 所下載的文 檔都是存儲在遠程主機中的 盡管這些操作似乎是在眼前的電腦上進行的 但事實上主控端電腦只是將鍵盤和鼠標的指令傳送給遠程主機 同時將被 控端電腦的屏幕畫面通過通信線路傳過來 從而達到控制與被控制的目的 遠程控制系統一般分為客戶端程序 Client 和服務端程序 Server 兩大部 分 在使用前需要將客戶端程序安裝到本地計算機上 將服務端程序安裝 到遠程主機上 它的控制的過程是在本地計算機上執行客戶端程序 向遠 程主機中的服務端程序發出信號 建立一個特殊的遠程服務 然后通過這 個遠程服務 使用各種遠程控制功能發送遠程控制命令 控制遠程主機中 的各種應用程序運行 通過遠程控制系統 可以進行很多方面的遠程控制 包括獲取遠程主機屏幕圖像 打開 關閉遠程主機的任意目錄 管理遠程 主機的文件和文件夾 關閉或者重新啟動遠程主機中的操作系統 通過遠 程主機上 下載文件和捕獲音頻 視頻信號等 遠程控制系統也適合一對多模式 可以使用本地計算機控制多個遠程 局域網中遠程桌面監控系統的設計與實現 第 1 章 2 主機 管理者可以在本地計算機上同時查看多個員工的工作進展情況 及 早發現工作中的差錯以便及時改正 特別是對于網絡管理員 技術服務人 員來說 遠程控制提供了一個便捷 高效的手段 但是所有這些與網絡環境有很大的關系 網速過慢是很多網絡程序的 瓶頸 遠程控制也不例外 獲取被控端電腦屏幕的過程 實際上就是服務 器端傳輸一副屏幕圖片到客服端的過程 這個過程需要傳輸大量的數據 如何對屏幕圖片數據進行壓縮 多長時間發送一次屏幕圖片數據 是不是 每次都需要發送整個屏幕的數據 這些都是遠程控制必須面對的問題 與此同時 網絡安全 信息安全也成為人們不得不考慮的熱點問題 遠程控制系統存在著比較嚴重的安全隱患 容易受到黑客的攻擊和非法入 侵 這就需要對軟件在設計方面做出安全考慮 局域網中遠程桌面監控系統的設計與實現 第 2 章 3 第 2 章 需求分析 2 1 系統設計背景與總體目標 2 1 1 系統設計的背景 隨著計算機應用領域的不斷拓寬 網絡技術的日臻成熟 很多公司企 業都建立了自己的局域網 單個主機的資源已經不能滿足用戶的需求 通 過網絡操作其它主機并使用其資源已成為局域網中必備的功能 遠程桌面 系統就是在這樣的背景下孕育而生 2 1 2 系統設計的總體目標 能夠隨時對局域網中的主機進行遠程監控 實時性高 通信量小 界 面友好 操作簡單 功能齊全并有一定安全措施 2 2 用戶需求 2 2 1 功能需求 1 主控端 對遠程主機的桌面進行實時監視 1 修改被控制端的系統配置文件 2 可以對遠程主機進行關機和重新啟動的操作 3 可在本地直接操作遠程主機 4 實現鼠標的基本操作 包括 單擊 雙擊 拖拽 滾輪等 5 實現鍵盤的基本操作 包括 基本鍵 控制鍵 功能鍵等 6 局域網中遠程桌面監控系統的設計與實現 第 2 章 4 對局域網中的遠程主機進行掃描 尋找可控主機 7 對系統的運行狀態提供簡單的提示信息 8 2 被控端 開機自動運行服務端程序 1 退出和設置系統需要身份驗證 2 程序運行時 可以最小化到系統托盤 3 遠程連接需要身份驗證 4 可以改變系統基本設置 5 對于程序的操作和系統的運行狀態提供簡單的提示信息 6 2 2 2 性能需求 1 實時性 主控端實時監視遠程主機的桌面 被控端及時響應主控端 的控制請求 2 安全性 被控端只能被一臺主機控制 連接時需要身份驗證 退出 程序時需提供密碼 3 網絡通信量 盡量減少網絡上傳送的數據量 節省網絡資源 4 與平臺無關性 適用于運行不同桌面操作系統的計算機 5 界面友好 操作簡單 局域網中遠程桌面監控系統的設計與實現 第 3 章 5 第 3 章可采用的技術方案與可行性分 析 3 1 可采用的技術方案 基于以上需求分析 本系統的實現主要采用了套接字 Socket 技術 JPEG 圖像編碼技術 Java 的 RMI 遠程對象調用技術 3 1 1 套接字 Socket Socket 的英文原義是 插槽 插座 在網絡通信中通常也稱作 套 接字 用于描述 IP 地址和端口 是一個通信鏈的句柄 應用程序通常通 過 套接字 向網絡發出請求或者應答網絡請求 Socket 利用網間網通信 設施實現進程通信 但它對通信設施的細節毫不關心 只要通信設施能提 供足夠的通信能力 就可以了 Socket 提供了進程通信的端點 進程通信 之前 雙方首先必須各自創建一個端點 否則沒有辦法建立聯系并相互通 信 最重要的是 Socket 是面向客戶 服務器模型而設計的 針對客戶和 服務器程序提供不同的 Socket 系統調用 客戶隨機申請一個 Socket 系 統為之分配一個 Socket 號 服務器擁有全局公認的 Socket 任何客戶都 可以向它發出連接請求和信息請求 Socket 利用客戶 服務器模式巧妙地解決了進程之間建立通信連接的問 題 服務器 Socket 為全局所公認非常重要 假如通信雙方沒有任何一方的 Socket 固定 就好比打電話的雙方彼此不知道對方的電話號碼 要通話是 不可能的 套接字成對出現 其中一個運行于客戶機端 稱之為 ClientSocket 另一個運行于服務器端 稱之為 ServerSocket 根據連接啟動的方式以及 局域網中遠程桌面監控系統的設計與實現 第 3 章 6 本地套接字要連接的目標 套接字之間的連接過程可以分為三個步驟 服 務器監聽 客戶端請求 連接確認 所謂服務器監聽 是服務器端套接字 并不定位具體的客戶端套接字 而是處于等待連接的狀態 實時監控網絡 狀態 所謂客戶端請求 是指由客戶端的套接字提出連接請求 要連接的 目標是服務器端的套接字 為此 客戶端的套接字必須首先描述它要連接 的服務器的套接字 指出服務器端套接字的地址和端口號 然后就向服務 器端套接字提出連接請求 所謂連接確認 是指當服務器端套接字監聽到 或者說接收到客戶端套接字的連接請求 它就響應客戶端套接字的請求 建立一個新的線程 把服務器端套接字的描述發給客戶端 一旦客戶端確 認了此描述 連接就建立好了 常用的 Socket 類型有兩種 流式 Socket SOCK STREAM 和數據 報式 Socket SOCK DGRAM 流式是一種面向連接的 Socket 針對于面 向連接的 TCP 服務應用 數據報式 Socket 是一種無連接的 Socket 對應 于無連接的 UDP 服務應用 本程序采用 TCP 協議 因為流控和差控的存在使得傳輸更具有穩定性 UDP 雖然效率更高 但是有掉包的情況出現 這是本方案所不允許的 3 1 2 JPEG 壓縮技術 要想對遠程主機進行監控 就需要截取遠程主機的屏幕圖像 并將圖 像發送到本地計算機 本地計算機接收該圖像并顯示到程序界面中 截取 的屏幕圖像根據屏幕分辨率的不同 圖像數據的大小也不同 最常用的 1024 768 分辨率的屏幕截取圖像大約 4MB 5MB 這么大的圖片在網絡 中傳送非常慢 滿足不了用戶的需求 必須控制圖片的大小 使它更有利 于網絡傳送 控制圖片大小的方法主要有三種 1 降低圖片的顏色值 2 縮小圖像的尺寸 3 使用壓縮的圖片格式 根據用戶需求 本系統采用第 3 種方法 將捕捉的屏幕圖像編碼為支持壓縮格式的 JPEG 類型的圖片 然后在網絡中傳送 一張 1024 768 分辨率的屏幕截圖 編碼為 JPEG 格 式大約 150KB 它在局域網中的傳送速度可以滿足用戶需求 JPEG 是 Joint Photographic Experts Group 聯合圖像專家組 的縮寫 文 局域網中遠程桌面監控系統的設計與實現 第 3 章 7 件后輟名為 jpg 或 jpeg 是目前網絡上最流行的圖像格式 由一個 軟件開發聯合會組織制定 是一種有損壓縮格式 能夠將圖像壓縮在很小 的儲存空間 JPEG 壓縮技術十分先進 它用有損壓縮方式去除冗余的圖 像數據 在獲得極高的壓縮率的同時能展現十分豐富生動的圖像 而且 JPEG 是一種很靈活的格式 具有調節圖像質量的功能 允許用不同的壓 縮比例對文件進行壓縮 支持多種壓縮級別 壓縮比率通常在 10 1 到 40 1 之間 壓縮比越大 品質就越低 相反地 壓縮比越小 品質就越好 當然也可以在圖像質量和文件尺寸之間找到平衡點 JPEG 格式壓縮的主 要是高頻信息 對色彩的信息保留較好 適合應用于互聯網 可減少圖像 的傳輸時間 可以支持 24bit 真彩色 也普遍應用于需要連續色調的圖像 JPEG 格式的應用非常廣泛 目前各類瀏覽器均支持 JPEG 這種圖像格 式 因為 JPEG 格式的文件尺寸較小 下載速度快 JPEG 格式又可分為標準 JPEG 漸進式 JPEG 及 JPEG2000 三種格式 1 標準 JPEG 格式 此類型圖像在網頁下載時只能由上而下依序 顯示圖片 直到圖片資料全部下載完畢 才能看到全貌 2 漸進式 JPEG 格式 漸進式 JPG 為標準 JPG 的改良格式 可以 在網頁下載時 先呈現出圖片的粗略外觀后 再慢慢地呈現出完整的內容 就像 GIF 格式的交錯顯示 而且存成漸進式 JPG 格式的檔案比存成標準 JPG 格式的檔案要來得小 所以如果要在網頁上使用圖片 可以多用這種 格式 3 JPEG2000 格式 新一代的影像壓縮法 壓縮品質更好 并可改 善無線傳輸時因訊號不穩造成馬賽克及位置錯亂的情況 改善傳輸的品質 3 1 3 Java 的 RMI 技術 RMI Remote Method Invoke 是 Java 的遠程方法調用技術 支持 Java 的分布式對象之間的方法調用 本系統的控制功能就是利用 RMI 技 術直接調用遠程計算機的鼠標和鍵盤控制方法 執行各種操作 RMI 使用 Java 語言接口定義了遠程對象 它集合了 Java 序列化和 局域網中遠程桌面監控系統的設計與實現 第 3 章 8 Java 遠程方法協議 Java Remote Method Protocol 簡單地說 這樣使原先 的程序在同一操作系統的方法調用 變成了不同操作系統之間程序的方法 調用 RMI Remote Method Invocation 遠程方法調用 是用 Java 在 JDK1 1 中實現的 它大大增強了 Java 開發分布式應用的能力 Java 作為 一種風靡一時的網絡開發語言 其巨大的威力就體現在它強大的開發分布 式網絡應用的能力上 而 RMI 就是開發百分之百純 Java 的網絡分布式應 用系統的核心解決方案之一 RMI 目前使用 Java 遠程消息交換協議 JRMP Java Remote Messaging Protocol 進行通信 JRMP 是專為 Java 的遠程對象制定的協議 因此 Java RMI 具有 Java 的 Write Once Run Anywhere 的優點 是分布式應 用系統的百分之百純 Java 解決方案 用 Java RMI 開發的應用系統可以部 署在任何支持 JRE Java Run Environment Java 運行環境 的平臺上 但 由于 JRMP 是專為 Java 對象制定的 因此 RMI 對于用非 Java 語言開發 的應用系統的支持不足 不能與用非 Java 語言書寫的對象進行通信 RMI 應用程序通常包括兩個獨立的程序 服務器程序和客戶機程序 典型 的服務器應用程序將創建多個遠程對象 使這些遠程對象能夠被引用 然 后等待客戶機調用這些遠程對象的方法 而典型的客戶機程序則從服務器 中得到一個或多個遠程對象的引用 然后調用遠程對象的方法 RMI 為服 務器和客戶機進行通信和信息傳遞提供了一種機制 RMI 的主要優點如下 面向對象 RMI 可將完整的對象作為參數和返回值進行傳遞 而不僅 僅是預定義的數據類型 RMI 不需額外的客戶程序代碼 將對象分解成基 本數據類型 直接跨網傳遞對象 安全 RMI 使用 Java 內置的安全機制保證下載執行程序時用戶系統 的安全 RMI 使用專門為保護系統免遭惡意小應用程序侵害而設計的安全 管理程序 可保護系統和網絡免遭潛在的惡意下載程序的破壞 便于編寫和使用 RMI 使得 Java 遠程服務程序和訪問這些服務程序 的 Java 客戶程序的編寫工作變得輕松 簡單 遠程接口實際上就是 Java 接口 服務程序大約用三行指令宣布本身是服務程序 其它方面則與任何 局域網中遠程桌面監控系統的設計與實現 第 3 章 9 其它 Java 對象類似 這種簡單方法便于快速編寫完整的分布式對象系統的 服務程序 并快速地制作軟件的原型和早期版本 以便于進行測試和評估 因為 RMI 程序編寫簡單 所以維護也簡單 編寫一次 到處運行 RMI 是 Java 編寫一次 到處運行 方法的一部 分 任何基于 RMI 的系統均可 100 地移植到任何 Java 虛擬機上 分布式垃圾收集 RMI 采用其分布式垃圾收集功能收集不再被網絡中 任何客戶程序所引用的遠程服務對象 與 Java 虛擬機內部的垃圾收集類 似 分布式垃圾收集功能允許用戶根據自己的需要定義服務器對象 并且 明確這些對象在不再被客戶機引用時會被刪除 并行計算 RMI 采用多線程處理方法 可使服務器利用這些 Java 線 程更好地并行處理客戶端的請求 3 2 可行性分析 3 2 1 技術可行性 遠程控制技術早在 DOS 時代就已經存在 只是受到當時硬件環境和 網絡技術的制約 沒有得到更多的關注 隨著網絡的迅速發展 這項技術 越來越熱門 發展至今以非常成熟 對于以上所采用的技術 Java 對其支持已非常完善 關于 Socket 的 API 存在于 J 這個包里面 因此只要導入這個包 就可以完成兩個進程之間相互通訊 其中一個進程提供一個固定的位置 而另一個進程則只需要知道這個固定的位置 并去建立兩者之間的聯系 然后完成數據的通訊就可以了 關于 JPEG 的 API 存在于 com sun image codec jpeg 包中 因此只要導 入這個包就可以對圖像進行 JPEG 編解碼了 關于 RMI 可能顯得有些復雜 但只要完成以下四步就可以創建一個 RMI 應用 1 創建遠程接口 繼承 java rmi Remote 接口 2 創建遠 程類 實現遠程接口 3 創建服務器程序 負責在 rmiregistry 注冊表中 注冊遠程對象 4 創建客戶程序 負責定位遠程對象 并且調用遠程對 局域網中遠程桌面監控系統的設計與實現 第 3 章 10 象的方法 綜上所述 本系統的開發技術可行 3 2 2 經濟可行性 本軟件成本低廉 對硬件要求也不高 對于支持 TCP IP 協議的局域 網來說 不需要購買更多的硬件設施 適合于目前大多數的網絡環境 所 以說本系統的開發經濟可行 3 3 編程語言與開發工具 本系統采用 Java 編程語言實現 由 NetBeansIDE6 7 開發 3 3 1 Java 編程語言 Java 是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 程序設計 語言和 Java 平臺的總稱 用 Java 實現的 HotJava 瀏覽器 支持 Java applet 顯示了 Java 的魅力 跨平臺 動態的 Web Internet 計算 從此 Java 被廣泛接受并推動了 Web 的迅速發展 常用的瀏覽器現在均支持 Java applet 另一方面 Java 技術也不斷更新 Java 平臺由 Java 虛擬機 Java Virtual Machine 和 Java 應用編程接 口 Application Programming Interface 簡稱 API 構成 Java 應用編程 接口為 Java 應用提供了一個獨立于操作系統的標準接口 可分為基本部分 和擴展部分 在硬件或操作系統平臺上安裝一個 Java 平臺之后 Java 應用 程序就可運行 現在 Java 平臺已經嵌入了幾乎所有的操作系統 這樣 Java 程序可以只編譯一次 就可以在各種系統中運行 3 3 2 NetBeans 開發工具 NetBeans 由 Sun 公司在 2000 年創立 它是開發人員和客戶社區的家 園 旨在構建世界級的 Java IDE NetBeans 當前可以在 Solaris Windows Linux 和 Macintosh OS X 平臺上進行開發 并在 局域網中遠程桌面監控系統的設計與實現 第 3 章 11 SPL Sun 公用許可 范圍內使用 NetBeans 是一個全功能的開放源碼 Java IDE 可以幫助開發人員編寫 編譯 調試和部署 Java 應用 并將版本控制和 XML 編輯融入其眾多功能 之中 NetBeans 可支持 Java 2 平臺標準版 J2SE 應用的創建 采用 JSP 和 Servlet 的 2 層 Web 應用的創建 以及用于 2 層 Web 應用的 API 及軟件 的核心組的創建 所有這些都為 Java 開發人員創造了一個可擴展的開放源 多平臺的 Java IDE 以支持他們在各自所選擇的環境中從事開發工作 如 Solaris Linux Windows 或 Macintosh NetBeans 是一個為軟件開發者而設計的自由 開放的 IDE 集成開發 環境 可以在這里獲得許多需要的工具 包括建立桌面應用 企業級應 用 WEB 開發和 JAVA 移動應用程序開發 C C 甚至 Ruby NetBeans 可以非常方便的安裝于多種操作系統平臺 包括 Windows Linux Mac OS 和 Solaris 等操作系統 局域網中遠程桌面監控系統的設計與實現 第 4 章 12 第 4 章 系統分析與設計 4 1 系統基本框架 系統基本框架 如圖 4 1 所示 在支持 TCP IP 協議的局域網中 本 地計算機與遠程主機通過物理網絡相連 遠程主機運行被控端程序 監聽 固定端口等待連接 本地計算機運行主控端程序 連接指定端口 兩端的 程序通過套接字 Socket 建立連接 并通過 Socket 輸入輸出流收發信息 實現監視和控制功能 Socket 通過 TCP IP 協議實現兩端計算機的數據通 信 物理網絡 支持 TCP IP 協議局域網 如 IEEE802 3 發送 接收 發送 接收 建 立 連 接 主控端 客戶端 被控端 服務端 連接遠程主機等待遠程連接 發送控制信息執行控制命令 圖 4 1 系統基本框架 獲取桌面信息顯示桌面信息 Socket TCP IP 局域網中遠程桌面監控系統的設計與實現 第 4 章 13 4 2 系統總體設計與功能結構 總體功能結構 如圖 4 2 所示 包括主控端和被控端兩大部分 其中 主控端包括三大模塊 即 本地的配置管理模塊 接收遠程主機發送的桌 面信息并繪制到組件顯示 實現監視功能模塊和發送控制信息實現對遠程 主機的控制功能模塊 被控端也包括三大模塊 即 本地配置管理模塊 獲取并發送桌面圖片為主控端的監視提供信息服務模塊和響應主控端的控 制請求模塊 按控制信息進行指定的操作 遠程桌面監控系統 主控端 客戶端 被控端 服務端 配 置 管 理 模 塊 發 送 桌 面 信 息 配 置 管 理 模 塊 響 應 控 制 模 塊 遠 程 控 制 模 塊 顯 示 遠 程 桌 面 圖 4 2 總體功能結構 4 3 主控端系統設計與功能結構 主控端程序是遠程桌面監控系統兩大組成部分之一 它要實現對遠程 主機的基本監視功能 在控制功能上還要對各個細節 如 鼠標的單擊 雙擊 拖拽 滾輪等 加以實現 除此之外 對還要實現系統的基本配置 功能 這都無疑增加了程序的復雜性 對系統分塊處理是降低其復雜性的 有效方法 本系統將主控端程序分成三大模塊 逐一實現 局域網中遠程桌面監控系統的設計與實現 第 4 章 14 4 3 1 配置管理模塊 配置管理模塊主要實現對系統的基本操作和設置 并增加一些附加功 能 可以提高整個系統的性能 使其功能更強 配置管理模塊的功能結構如圖 4 3 所示 包括兩大功能 基本操作功 能和掃描可連主機功能 1 基本操作功能 輸入 IP 地址 輸入要監控的遠程主機的 IP 地址 格式采用點分 1 十進制 32 位的 IP V4地址 輸入端口號 輸入遠程主機被控端程序監聽的端口號 為了避 2 免與其它應用程序發生沖突 端口號應大于 1024 小于 65535 輸入連接密碼 出于安全考慮 防止非法用戶連接遠程主機 3 被控端應要求主控端輸入正確的鏈接密碼 輸入發送速度 為了滿足用戶對網絡通信量和系統實時性的不 4 同要求 本系統可以手動設置發送速度 發送速度從 0 毫秒抓取一張至 1000 毫秒抓取一張 速度越快 實時性越好 但是通信量越大 速度越慢 通信量越小 但實時性越差 系統默認 100 毫秒抓取一張 2 掃描可連主機功能 在局域網中包含很多主機 對于主控端來說 需要知道哪些主機可以 連接并且獲取可連接主機的 IP 地址 掃描可連主機成為提高系統實用性 與方便操作的重要功能 在大多數局域網中 主機的網絡地址是相同的 子網掩碼是相同的 主機 地址是連續的 這就使掃描可連主機成為了可能 對于設定的一段 IP 地 址 按照設定的端口逐個連接來判斷其可連接性 就解決來上述問題 輸入掃描端口號 輸入遠程主機被控端程序監聽的端口號 數 1 值應大于 1024 小于 65535 分別輸入起始 IP 地址和結束 IP 地址 其中網絡號應相同 子網 2 掩碼是 255 255 255 000 3 信息顯示功能 信息顯示功能用于實時顯示系統的狀態 獲取一些相關的信息 如系 局域網中遠程桌面監控系統的設計與實現 第 4 章 15 統開始運行的時間 對操作錯誤的提示 本地的主機名和 IP 地址等 配置管理模塊 基本操作功能掃描可連主機功能 輸 入 IP 地 址 輸 入 端 口 號 輸 入 連 接 密 碼 輸 入 發 送 速 度 要 掃 描 端 口 號 起 始 IP 地 址 結 束 IP 地 址 信 息 顯 示 功 能 圖 4 3 主控端配置管理模塊 4 3 2 顯示遠程桌面模塊 顯示遠程桌面模塊的功能結構如圖 4 4 所示 它是主控端的核心部分 不僅需要讀取輸入流中的數據并解碼 而且需要將圖片繪制到自己創建的 容器中 除此之外 還要在容器中添加遠程控制的開關組件和調節發送速 度的組件 1 顯示遠程桌面 讀取輸入流中的數據并解碼 連接建立后 從輸入流中讀取的數 1 據是經過被控端編碼后發送過來 因此需要解碼才能將圖片繪制到容器 創建容器并繪制圖片 創建的容器與圖片的大小會不一致 因此 2 需要根據容器的大小計算圖片的縮放比例 2 開關遠程控制 對遠程主機的控制在需要時開啟 在不需要時關閉可以提高系統的靈 活性 因此需要在容器中添加開關按鈕 3 調節發送速度 局域網中遠程桌面監控系統的設計與實現 第 4 章 16 為了滿足用戶對網絡通信量和系統實時性的不同要求 本系統可以隨 時改變發送速度 發送速度從 0 毫秒抓取一張至 1000 毫秒抓取一張 速 度越快 實時性越好 但是通信量越大 速度越慢 通信量越小 但實時 性越差 系統默認 100 毫秒抓起一張 顯示遠程桌面模塊 顯 示 遠 程 桌 面 關 閉 遠 程 控 制 調 節 發 送 頻 率 開 啟 遠 程 控 制 圖 4 4 主控端顯示遠程桌面模塊 4 3 3 遠程控制模塊 遠程控制模塊主要實現對遠程主機的鼠標和鍵盤進行控制 其功能結 構如圖 4 5 所示 遠程控制模塊主要包括 鼠標操作功能和鍵盤操作功能 1 鼠標操作功能 根據本地計算機的鼠標事件向遠程主機發送控制信息 2 鍵盤操作功能 根據本地計算機的鍵盤事件向遠處主機發送控制信息 局域網中遠程桌面監控系統的設計與實現 第 4 章 17 遠程控制模塊 鼠標操作功能鍵盤操作功能 鼠 標 雙 擊 控 制 鼠 標 移 動 控 制 鼠 標 滾 輪 控 制 鼠 標 拖 拽 控 制 按 鍵 按 下 控 制 按 鍵 抬 起 控 制 鼠 標 單 擊 控 制 控 制 發 送 頻 率 圖 4 5 主控端遠程控制模塊 4 4 被控端設計功能結構 被控端程序同主控端程序一樣也是遠程桌面監控系統的重要組成部分 它不僅要抓取桌面圖片 并且編碼后發送到輸出流 還要按照主控端的控 制請求執行相應操作 除此之外 對還要實現系統的基本配置功能 這都 無疑增加了程序的復雜性 對系統分塊處理是降低其復雜性的有效方法 本系統將被控端程序分成三大模塊 逐一實現 4 4 1 配置管理模塊 配置管理模塊主要實現對系統的基本操作和設置 并增加一些安全方 面的考慮 以提高系統的安全性 配置管理模塊功能結構如圖 4 6 所示 包括兩大功能 安全管理功能 和系統基本設置功能 1 安全管理功能 只有輸入正確的管理密碼才能退出系統或改變系統設置 2 系統基本設置 局域網中遠程桌面監控系統的設計與實現 第 4 章 18 在正確輸入了管理密碼后 可以對系統進行設置 包括重設端口號 連接密碼 管理密碼和恢復默認值等等 圖 4 6 被控端配置管理模塊 配置管理模塊 安全管理功能 輸 入 退 出 密 碼 輸 入 設 置 密 碼 信 息 顯 示 窗 口 系 統 退 出 操 作 系統基本設置 恢 復 默 認 設 置 重 設 監 聽 端 口 重 設 連 接 密 碼 重 設 管 理 密 碼 4 4 2 發送桌面信息模塊 為減少通信量 抓取圖片后都與上一次抓取的圖片進行比較 如果相 同則不發送 如果不同再發送 發送桌面信息模塊如圖 4 7 所示 1 獲取桌面信息 根據設定的發送速度 每個一段時間抓取一幅桌面圖片 然后進行比 較 2 圖片信息編碼 對抓取的圖片進行比較后 如果不同就按照 JPEG 格式對圖片進行壓 縮 3 編碼信息輸出 將壓縮后的圖片信息寫入輸出流 局域網中遠程桌面監控系統的設計與實現 第 4 章 19 發送桌面信息模塊 編 碼 信 息 輸 出 圖 片 信 息 編 碼 獲 取 桌 面 信 息 圖 4 7 被控端發送桌面信息模塊 4 4 3 響應控制模塊 響應控制模塊的功能結構如圖 4 8 所示 它主要是根據主控端的控制 信息 執行相應的鍵盤和鼠標操作 包括鼠標操作功能和鍵盤操作功能 響應控制模塊 鼠標操作功能鍵盤操作功能 鼠 標 雙 擊 響 應 鼠 標 移 動 響 應 鼠 標 滾 輪 響 應 鼠 標 拖 拽 響 應 按 鍵 按 下 響 應 按 鍵 抬 起 響 應 鼠 標 單 擊 響 應 改 變 發 送 速 度 圖 4 8 被控端響應控制模塊 局域網中遠程桌面監控系統的設計與實現 第 5 章 20 第 5 章 系統實現 5 1 系統實現思路 基于以上系統分析 遠程桌面監控系統實際上是主控端程序與被控端 程序通過套接字 Socket 建立連接并進行數據通信 達到監控與被監控的目 的 因此 需要兩個獨立的程序 ClientProgram 主控端 和 ServiceProgram 被控端 其程序總體流程如圖 5 1 所示 首先 ServiceProgram 被控端 監聽設定的端口 等待 ClientProgram 主控端 的連接請求 ClientProgram 連接指定端口 與 SreviceProgram 建立連接后 ServiceProgram 抓取桌面圖像 編碼后發送 ClientProgram 接收圖像 解 碼后繪制到組件上顯示 ClientProgram 發送控制請求 ServiceProgram 響 應控制請求并按控制信息進行相應操作 局域網中遠程桌面監控系統的設計與實現 第 5 章 21 否 是 否 是 否 是 開 始 服務端監聽端口等待連接 連接 發送桌面信息 獲取桌面信息 執行控制命令 斷開連接 響應連接請求 連 接 接收桌面信息 顯示遠程桌面接收控制信息 輸入 IP 地址 輸入端口號 發送控制信息 圖 5 1 程序總體流程圖 SericeProgram ClientProgram 開 始 是 結 束 斷開連接 程序終止 否 是 結 束 否 程序終止 局域網中遠程桌面監控系統的設計與實現 第 5 章 22 5 2 主控端程序 Client Program 進程是操作系統結構的基礎 是一個正在執行的程序 當運行一個程 序 就啟動了一個進程 主控端程序的運行就啟動了一個進程 進程又被 細化為線程 也就是一個進程下有多個能獨立運行的更小的單位 雖然在 感覺上 多個線程是在同時運行 但事實上 在某一時間點上 CPU 運行 的線程只有一個 在 Java 語言中實現 Runnable 接口是創建線程的一個必要條件 Runnable 接口位于 java lang 包中 它只有一個方法 run run 方法沒有 返回值 使用實現接口 Runnable 的對象創建一個線程時 啟動該線程將 導致在獨立執行的線程中調用對象的 run 方法 本系統在主控端程序 ClientProgram 定義兩個線程分別是 遠程桌 面監控線程 ReceiveImageThread 和配置管理線程 MainFrameThread MainFrameThread 線程實現基本操作功能和掃描可連主機功能 ReceiveImageThread 線程實現桌面顯示功能 對遠程主機的鼠標和鍵盤操 作的功能 5 2 1 配置管理模塊中的基本操作功能 1 程序流程圖與運行效果圖 基本操作功能程序流程如圖 5 2 所示 它是 ClientProgram 的開始 它 的主要功能是接收用戶輸入的數據 定義遠程主機的 IP 地址和端口號 只有確定了運行 ServiceProgram 的遠程主機的 IP 地址 才能進行互聯 局域網中遠程桌面監控系統的設計與實現 第 5 章 23 是 否 否 否 否 否 是 是 是 否 是 開始 輸入 IP 地址和端口 號 輸入連接密碼 輸入發送速度 按鈕事件 監聽 連接 按鈕 IP 地址與端口號正確 斷開連接 頻率正確 連接遠程主機 默認 100 圖 5 2 主控端基本操作功能程序流程圖 是 程序終止 結 束 連接成功 顯示遠程桌面模塊 在基本操作界面中 放置了 4 個單行文本框 兩個按鈕和一個多行文 本框 運行效果如圖 5 3 所示 局域網中遠程桌面監控系統的設計與實現 第 5 章 24 圖 5 3 主控端基本操作界面 2 實現主控端基本操作界面的關鍵步驟如下 編寫 MainFrameThread 類實現 Runnable 接口 覆蓋 public void 1 run 方法 創建程序主界面線程 編寫 連接 按鈕的事件處理方法 該方法從相應文本框中獲取 2 用戶輸入的 IP 地址 端口號和連接密碼等信息 并根據相應信息與遠程 主機建立連接 并啟動遠程桌面監控線程 編寫 拉開 按鈕的事件處理方法 該方法用于實現掃描可連主 3 機功能 編寫 getTime 方法 該方法在程序啟動時調用 記錄系統啟動時 4 間 在用戶進行其他操作時也調用本方法 編寫 initSystemTray 方法 該方法可以將程序窗體隱藏 只在系 5 統托盤中提供一個托盤圖標 可以使用鼠標單擊該圖片 顯示程序窗體 3 類 構造函數和主要方法介紹 在基本操作功能中用到的類主要有 JFrame JLabel JButton TextField TextArea SystemTray TrayIcon I mageIcon InetAddress GregorianCalendar JFrame 類位于 javax swing 包 1 主要功能 局域網中遠程桌面監控系統的設計與實現 第 5 章 25 創建帶有標題和邊框的頂層窗口 在本模塊中用于創建程序界面 構造函數 JFrame String title 創建一個新的 初始不可見的 具有指定標題的 Frame 主要方法 public Component add Component comp 將指定組件添加到此容器中 public void setResizable boolean resizable 設置此窗體是否可由用戶調 整大小 JLabel 類位于 javax swing 包 2 主要功能 Label 對象是一個可在容器中放置文本的組件 構造函數 Label String text 使用指定的文本字符串構造一個新的標簽 主要方法 public void setText String text 將此標簽的文本設置為指定的文本 JButton 類位于 javax swing 包 3 主要功能 創建一個標簽按鈕 當按下該按鈕時 應用程序能執行某項動作 構造函數 JButton String label 構造一個帶指定標簽的按鈕 主要方法 public void setText String text 設置按鈕的文本 TextField 類位于 java awt 包 4 主要功能 TextField 對象是允許編輯單行文本的文本組件 構造函數 public TextField 構造新文本字段 主要方法 public String getText 返回此文本組件表示的文本 局域網中遠程桌面監控系統的設計與實現 第 5 章 26 TextArea 類位于 java awt 包 5 主要功能 TextArea 對象是顯示文本的多行區域 構造函數 public TextArea 構造一個將空字符串作為文本的新文本區 主要方法 public void append String str 將給定文本追加到文本區的當前文本 SyatemTray 類位于 java awt 包 6 主要功能 SystemTray 類表示桌面的系統托盤 主要方法 public static SystemTray getSystemTray 獲取表示系統托盤的 SystemTray 實例 public void add TrayIcon trayIcon 將 TrayIcon 添加到 SystemTray 一 旦添加了托盤圖標 就可以在系統托盤中看到它 TrayIcon 類位于 java awt 包 7 主要功能 TrayIcon 對象表示可以添加到系統托盤的托盤圖標 構造函數 public TrayIcon Image image 創建帶有指定圖像的 TrayIcon 主要方法 public void setImageAutoSize boolean autosize 設置自動調整大小的屬 性 ImageIcon 類位

溫馨提示

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

評論

0/150

提交評論