




免費(fèi)預(yù)覽已結(jié)束,剩余49頁可下載查看
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
局域網(wǎng)中遠(yuǎn)程桌面監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 摘 要 I 局域網(wǎng)遠(yuǎn)程桌面監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 摘 要 遠(yuǎn)程桌面監(jiān)控系統(tǒng)可以讓本地計(jì)算機(jī)通過局域網(wǎng)訪問不同的遠(yuǎn)程計(jì)算 機(jī) 并對(duì)其進(jìn)行操作 維護(hù)人員可以通過本系統(tǒng)實(shí)時(shí)地監(jiān)控聯(lián)網(wǎng)計(jì)算機(jī)的 運(yùn)行情況 根據(jù)需要隨時(shí)改變聯(lián)網(wǎng)計(jì)算機(jī)系統(tǒng)設(shè)置 對(duì)出現(xiàn)故障的計(jì)算機(jī) 能夠通過網(wǎng)絡(luò)及時(shí)修復(fù) 管理人員通過本系統(tǒng)可以規(guī)范員工對(duì)計(jì)算機(jī)的使 用 及時(shí)發(fā)現(xiàn)并解決工作中存在的問題 本系統(tǒng)可以在不同平臺(tái)上運(yùn)行 實(shí)現(xiàn)運(yùn)行不同桌面操作系統(tǒng)的計(jì)算機(jī) 之間的相互監(jiān)控 該系統(tǒng)對(duì)遠(yuǎn)程主機(jī)的監(jiān)控主要包括 實(shí)時(shí)監(jiān)視桌面狀態(tài) 修改系統(tǒng)配置文件 控制鼠標(biāo) 鍵盤的基本操作 本系統(tǒng)采用 Java 語言實(shí) 現(xiàn) 開發(fā)工具采用 NetBeansIDE6 7 開發(fā) 本文介紹了局域網(wǎng)中遠(yuǎn)程桌面監(jiān)控系統(tǒng)的分析 設(shè)計(jì)和開發(fā)的全部過 程 運(yùn)用功能結(jié)構(gòu)圖 程序流程圖等對(duì)遠(yuǎn)程桌面監(jiān)控子系統(tǒng)的設(shè)計(jì)過程進(jìn) 行詳細(xì)的說明 首先簡單介紹了遠(yuǎn)程桌面監(jiān)控系統(tǒng)的應(yīng)用前景以及面臨問 題 介紹了系統(tǒng)的總體目標(biāo)以及用戶需求 設(shè)計(jì)了系統(tǒng)的基本框架和各個(gè) 模塊的功能 然后主要介紹了各個(gè)功能模塊的具體實(shí)現(xiàn)步驟 并對(duì)模塊中 用到的類 構(gòu)造函數(shù)和主要方法做了簡單的說明 最后給出了測(cè)試方法和 結(jié)果 對(duì)系統(tǒng)的優(yōu)缺點(diǎn)進(jìn)行了總結(jié) 關(guān)鍵詞關(guān)鍵詞 遠(yuǎn)程桌面監(jiān)控遠(yuǎn)程桌面監(jiān)控 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 局域網(wǎng)中遠(yuǎn)程桌面監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 目 錄 I 目 錄 第第 1 1 章章引引 言言 1 第第 2 2 章章需求分析需求分析 3 2 1系統(tǒng)設(shè)計(jì)背景與總體目標(biāo)系統(tǒng)設(shè)計(jì)背景與總體目標(biāo) 3 2 1 1系統(tǒng)設(shè)計(jì)的背景 3 2 1 2系統(tǒng)設(shè)計(jì)的總體目標(biāo) 3 2 2用戶需求用戶需求 3 2 2 1功能需求 3 2 2 2性能需求 4 第第 3 3 章章可采用的技術(shù)方案與可行性分析可采用的技術(shù)方案與可行性分析 5 3 1可采用的技術(shù)方案可采用的技術(shù)方案 5 3 1 1套接字 Socket 5 3 1 2JPEG 壓縮技術(shù) 6 3 1 3Java 的 RMI 技術(shù) 7 3 2可行性分析可行性分析 9 3 2 1技術(shù)可行性 9 3 2 2經(jīng)濟(jì)可行性 9 3 3編程語言與開發(fā)工具編程語言與開發(fā)工具 10 3 3 1Java 編程語言 10 3 3 2NetBeans 開發(fā)工具 10 第第 4 4 章章系統(tǒng)分析與設(shè)計(jì)系統(tǒng)分析與設(shè)計(jì) 12 4 1系統(tǒng)基本框架系統(tǒng)基本框架 12 4 2系統(tǒng)總體設(shè)計(jì)與功能結(jié)構(gòu)系統(tǒng)總體設(shè)計(jì)與功能結(jié)構(gòu) 13 4 3主控端系統(tǒng)設(shè)計(jì)與功能結(jié)構(gòu)主控端系統(tǒng)設(shè)計(jì)與功能結(jié)構(gòu) 13 4 3 1配置管理模塊 14 4 3 2顯示遠(yuǎn)程桌面模塊 15 4 3 3遠(yuǎn)程控制模塊 16 4 4被控端設(shè)計(jì)功能結(jié)構(gòu)被控端設(shè)計(jì)功能結(jié)構(gòu) 17 4 4 1配置管理模塊 17 局域網(wǎng)中遠(yuǎn)程桌面監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 目 錄 II 4 4 2發(fā)送桌面信息模塊 18 4 4 3響應(yīng)控制模塊 19 第第 5 5 章章系統(tǒng)實(shí)現(xiàn)系統(tǒng)實(shí)現(xiàn) 20 5 1系統(tǒng)實(shí)現(xiàn)思路系統(tǒng)實(shí)現(xiàn)思路 20 5 2主控端程序 主控端程序 Client Program 22 5 2 1配置管理模塊中的基本操作功能 22 5 2 2配置管理模塊中的掃描可連主機(jī)功能 27 5 2 3顯示遠(yuǎn)程桌面模塊中的桌面顯示功能 30 5 2 4顯示遠(yuǎn)程桌面模塊中的附屬功能 34 5 2 5遠(yuǎn)程控制模塊 34 5 3被控端程序 被控端程序 ServiceProgram 35 5 3 1配置管理模塊中的安全管理功能 35 5 3 2配置管理模塊中的系統(tǒng)基本設(shè)置功能 37 5 3 3發(fā)送桌面信息模塊 39 5 3 4響應(yīng)控制模塊 42 第第 6 6 章章測(cè)測(cè) 試試 45 6 1主控端測(cè)試主控端測(cè)試 45 6 1 1對(duì)基本操作功能的測(cè)試 45 6 1 2對(duì)掃描可連主機(jī)功能的測(cè)試 45 6 1 3對(duì)遠(yuǎn)程控制功能的測(cè)試 45 6 2被控端測(cè)試被控端測(cè)試 45 6 2 1對(duì)連接密碼的驗(yàn)證測(cè)試 45 6 2 2創(chuàng)建存儲(chǔ)密碼文件的測(cè)試 46 6 3測(cè)試結(jié)果測(cè)試結(jié)果 46 第第 7 7 章章結(jié)結(jié) 論論 47 致致 謝謝 48 參考文獻(xiàn)參考文獻(xiàn) 49 局域網(wǎng)中遠(yuǎn)程桌面監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 第 1 章 1 第 1 章 引 言 網(wǎng)絡(luò)的誕生拓展了計(jì)算機(jī)的應(yīng)用范圍 網(wǎng)絡(luò)的迅速發(fā)展在提高生產(chǎn)效 率的同時(shí)也改變了人們的工作方式 現(xiàn)在有很多公司 企事業(yè)單位都建立 了自己的內(nèi)部網(wǎng)絡(luò) 對(duì)于維護(hù)人員來說 希望能夠通過網(wǎng)絡(luò)實(shí)時(shí)的監(jiān)控聯(lián) 網(wǎng)計(jì)算機(jī)的運(yùn)行情況 希望根據(jù)需要通過網(wǎng)絡(luò)隨時(shí)改變聯(lián)網(wǎng)計(jì)算機(jī)的設(shè)置 希望對(duì)出現(xiàn)故障的計(jì)算機(jī)能夠通過網(wǎng)絡(luò)及時(shí)排除故障 對(duì)于管理人員來說 希望通過網(wǎng)絡(luò)隨時(shí)了解員工的工作進(jìn)展情況和規(guī)范員工對(duì)計(jì)算機(jī)的使用以 及解決工作中存在的問題 為此 希望編寫一個(gè)適合于局域網(wǎng)的桌面監(jiān)控 程序以滿足上述需求 本系統(tǒng)就在這樣的需求環(huán)境下孕育而生了 遠(yuǎn)程控制技術(shù)是指用本地計(jì)算機(jī)通過網(wǎng)絡(luò)去控制一臺(tái)或多臺(tái)遠(yuǎn)程主機(jī) 的技術(shù) 當(dāng)用戶使用本地計(jì)算機(jī)控制遠(yuǎn)程主機(jī)時(shí) 就如同坐在遠(yuǎn)程主機(jī)的 屏幕前一樣 可以啟動(dòng)遠(yuǎn)程主機(jī)的應(yīng)用程序 可以使用遠(yuǎn)程主機(jī)的文件資 料 甚至可以利用遠(yuǎn)程主機(jī)的外部打印設(shè)備和通信設(shè)備來進(jìn)行打印和訪問 互聯(lián)網(wǎng) 不過 在遠(yuǎn)程主機(jī)中所運(yùn)行的程序 所打開的文件 所下載的文 檔都是存儲(chǔ)在遠(yuǎn)程主機(jī)中的 盡管這些操作似乎是在眼前的電腦上進(jìn)行的 但事實(shí)上主控端電腦只是將鍵盤和鼠標(biāo)的指令傳送給遠(yuǎn)程主機(jī) 同時(shí)將被 控端電腦的屏幕畫面通過通信線路傳過來 從而達(dá)到控制與被控制的目的 遠(yuǎn)程控制系統(tǒng)一般分為客戶端程序 Client 和服務(wù)端程序 Server 兩大部 分 在使用前需要將客戶端程序安裝到本地計(jì)算機(jī)上 將服務(wù)端程序安裝 到遠(yuǎn)程主機(jī)上 它的控制的過程是在本地計(jì)算機(jī)上執(zhí)行客戶端程序 向遠(yuǎn) 程主機(jī)中的服務(wù)端程序發(fā)出信號(hào) 建立一個(gè)特殊的遠(yuǎn)程服務(wù) 然后通過這 個(gè)遠(yuǎn)程服務(wù) 使用各種遠(yuǎn)程控制功能發(fā)送遠(yuǎn)程控制命令 控制遠(yuǎn)程主機(jī)中 的各種應(yīng)用程序運(yùn)行 通過遠(yuǎn)程控制系統(tǒng) 可以進(jìn)行很多方面的遠(yuǎn)程控制 包括獲取遠(yuǎn)程主機(jī)屏幕圖像 打開 關(guān)閉遠(yuǎn)程主機(jī)的任意目錄 管理遠(yuǎn)程 主機(jī)的文件和文件夾 關(guān)閉或者重新啟動(dòng)遠(yuǎn)程主機(jī)中的操作系統(tǒng) 通過遠(yuǎn) 程主機(jī)上 下載文件和捕獲音頻 視頻信號(hào)等 遠(yuǎn)程控制系統(tǒng)也適合一對(duì)多模式 可以使用本地計(jì)算機(jī)控制多個(gè)遠(yuǎn)程 局域網(wǎng)中遠(yuǎn)程桌面監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 第 1 章 2 主機(jī) 管理者可以在本地計(jì)算機(jī)上同時(shí)查看多個(gè)員工的工作進(jìn)展情況 及 早發(fā)現(xiàn)工作中的差錯(cuò)以便及時(shí)改正 特別是對(duì)于網(wǎng)絡(luò)管理員 技術(shù)服務(wù)人 員來說 遠(yuǎn)程控制提供了一個(gè)便捷 高效的手段 但是所有這些與網(wǎng)絡(luò)環(huán)境有很大的關(guān)系 網(wǎng)速過慢是很多網(wǎng)絡(luò)程序的 瓶頸 遠(yuǎn)程控制也不例外 獲取被控端電腦屏幕的過程 實(shí)際上就是服務(wù) 器端傳輸一副屏幕圖片到客服端的過程 這個(gè)過程需要傳輸大量的數(shù)據(jù) 如何對(duì)屏幕圖片數(shù)據(jù)進(jìn)行壓縮 多長時(shí)間發(fā)送一次屏幕圖片數(shù)據(jù) 是不是 每次都需要發(fā)送整個(gè)屏幕的數(shù)據(jù) 這些都是遠(yuǎn)程控制必須面對(duì)的問題 與此同時(shí) 網(wǎng)絡(luò)安全 信息安全也成為人們不得不考慮的熱點(diǎn)問題 遠(yuǎn)程控制系統(tǒng)存在著比較嚴(yán)重的安全隱患 容易受到黑客的攻擊和非法入 侵 這就需要對(duì)軟件在設(shè)計(jì)方面做出安全考慮 局域網(wǎng)中遠(yuǎn)程桌面監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 第 2 章 3 第 2 章 需求分析 2 1 系統(tǒng)設(shè)計(jì)背景與總體目標(biāo) 2 1 1 系統(tǒng)設(shè)計(jì)的背景 隨著計(jì)算機(jī)應(yīng)用領(lǐng)域的不斷拓寬 網(wǎng)絡(luò)技術(shù)的日臻成熟 很多公司企 業(yè)都建立了自己的局域網(wǎng) 單個(gè)主機(jī)的資源已經(jīng)不能滿足用戶的需求 通 過網(wǎng)絡(luò)操作其它主機(jī)并使用其資源已成為局域網(wǎng)中必備的功能 遠(yuǎn)程桌面 系統(tǒng)就是在這樣的背景下孕育而生 2 1 2 系統(tǒng)設(shè)計(jì)的總體目標(biāo) 能夠隨時(shí)對(duì)局域網(wǎng)中的主機(jī)進(jìn)行遠(yuǎn)程監(jiān)控 實(shí)時(shí)性高 通信量小 界 面友好 操作簡單 功能齊全并有一定安全措施 2 2 用戶需求 2 2 1 功能需求 1 主控端 對(duì)遠(yuǎn)程主機(jī)的桌面進(jìn)行實(shí)時(shí)監(jiān)視 1 修改被控制端的系統(tǒng)配置文件 2 可以對(duì)遠(yuǎn)程主機(jī)進(jìn)行關(guān)機(jī)和重新啟動(dòng)的操作 3 可在本地直接操作遠(yuǎn)程主機(jī) 4 實(shí)現(xiàn)鼠標(biāo)的基本操作 包括 單擊 雙擊 拖拽 滾輪等 5 實(shí)現(xiàn)鍵盤的基本操作 包括 基本鍵 控制鍵 功能鍵等 6 局域網(wǎng)中遠(yuǎn)程桌面監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 第 2 章 4 對(duì)局域網(wǎng)中的遠(yuǎn)程主機(jī)進(jìn)行掃描 尋找可控主機(jī) 7 對(duì)系統(tǒng)的運(yùn)行狀態(tài)提供簡單的提示信息 8 2 被控端 開機(jī)自動(dòng)運(yùn)行服務(wù)端程序 1 退出和設(shè)置系統(tǒng)需要身份驗(yàn)證 2 程序運(yùn)行時(shí) 可以最小化到系統(tǒng)托盤 3 遠(yuǎn)程連接需要身份驗(yàn)證 4 可以改變系統(tǒng)基本設(shè)置 5 對(duì)于程序的操作和系統(tǒng)的運(yùn)行狀態(tài)提供簡單的提示信息 6 2 2 2 性能需求 1 實(shí)時(shí)性 主控端實(shí)時(shí)監(jiān)視遠(yuǎn)程主機(jī)的桌面 被控端及時(shí)響應(yīng)主控端 的控制請(qǐng)求 2 安全性 被控端只能被一臺(tái)主機(jī)控制 連接時(shí)需要身份驗(yàn)證 退出 程序時(shí)需提供密碼 3 網(wǎng)絡(luò)通信量 盡量減少網(wǎng)絡(luò)上傳送的數(shù)據(jù)量 節(jié)省網(wǎng)絡(luò)資源 4 與平臺(tái)無關(guān)性 適用于運(yùn)行不同桌面操作系統(tǒng)的計(jì)算機(jī) 5 界面友好 操作簡單 局域網(wǎng)中遠(yuǎn)程桌面監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 第 3 章 5 第 3 章可采用的技術(shù)方案與可行性分 析 3 1 可采用的技術(shù)方案 基于以上需求分析 本系統(tǒng)的實(shí)現(xiàn)主要采用了套接字 Socket 技術(shù) JPEG 圖像編碼技術(shù) Java 的 RMI 遠(yuǎn)程對(duì)象調(diào)用技術(shù) 3 1 1 套接字 Socket Socket 的英文原義是 插槽 插座 在網(wǎng)絡(luò)通信中通常也稱作 套 接字 用于描述 IP 地址和端口 是一個(gè)通信鏈的句柄 應(yīng)用程序通常通 過 套接字 向網(wǎng)絡(luò)發(fā)出請(qǐng)求或者應(yīng)答網(wǎng)絡(luò)請(qǐng)求 Socket 利用網(wǎng)間網(wǎng)通信 設(shè)施實(shí)現(xiàn)進(jìn)程通信 但它對(duì)通信設(shè)施的細(xì)節(jié)毫不關(guān)心 只要通信設(shè)施能提 供足夠的通信能力 就可以了 Socket 提供了進(jìn)程通信的端點(diǎn) 進(jìn)程通信 之前 雙方首先必須各自創(chuàng)建一個(gè)端點(diǎn) 否則沒有辦法建立聯(lián)系并相互通 信 最重要的是 Socket 是面向客戶 服務(wù)器模型而設(shè)計(jì)的 針對(duì)客戶和 服務(wù)器程序提供不同的 Socket 系統(tǒng)調(diào)用 客戶隨機(jī)申請(qǐng)一個(gè) Socket 系 統(tǒng)為之分配一個(gè) Socket 號(hào) 服務(wù)器擁有全局公認(rèn)的 Socket 任何客戶都 可以向它發(fā)出連接請(qǐng)求和信息請(qǐng)求 Socket 利用客戶 服務(wù)器模式巧妙地解決了進(jìn)程之間建立通信連接的問 題 服務(wù)器 Socket 為全局所公認(rèn)非常重要 假如通信雙方?jīng)]有任何一方的 Socket 固定 就好比打電話的雙方彼此不知道對(duì)方的電話號(hào)碼 要通話是 不可能的 套接字成對(duì)出現(xiàn) 其中一個(gè)運(yùn)行于客戶機(jī)端 稱之為 ClientSocket 另一個(gè)運(yùn)行于服務(wù)器端 稱之為 ServerSocket 根據(jù)連接啟動(dòng)的方式以及 局域網(wǎng)中遠(yuǎn)程桌面監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 第 3 章 6 本地套接字要連接的目標(biāo) 套接字之間的連接過程可以分為三個(gè)步驟 服 務(wù)器監(jiān)聽 客戶端請(qǐng)求 連接確認(rèn) 所謂服務(wù)器監(jiān)聽 是服務(wù)器端套接字 并不定位具體的客戶端套接字 而是處于等待連接的狀態(tài) 實(shí)時(shí)監(jiān)控網(wǎng)絡(luò) 狀態(tài) 所謂客戶端請(qǐng)求 是指由客戶端的套接字提出連接請(qǐng)求 要連接的 目標(biāo)是服務(wù)器端的套接字 為此 客戶端的套接字必須首先描述它要連接 的服務(wù)器的套接字 指出服務(wù)器端套接字的地址和端口號(hào) 然后就向服務(wù) 器端套接字提出連接請(qǐng)求 所謂連接確認(rèn) 是指當(dāng)服務(wù)器端套接字監(jiān)聽到 或者說接收到客戶端套接字的連接請(qǐng)求 它就響應(yīng)客戶端套接字的請(qǐng)求 建立一個(gè)新的線程 把服務(wù)器端套接字的描述發(fā)給客戶端 一旦客戶端確 認(rèn)了此描述 連接就建立好了 常用的 Socket 類型有兩種 流式 Socket SOCK STREAM 和數(shù)據(jù) 報(bào)式 Socket SOCK DGRAM 流式是一種面向連接的 Socket 針對(duì)于面 向連接的 TCP 服務(wù)應(yīng)用 數(shù)據(jù)報(bào)式 Socket 是一種無連接的 Socket 對(duì)應(yīng) 于無連接的 UDP 服務(wù)應(yīng)用 本程序采用 TCP 協(xié)議 因?yàn)榱骺睾筒羁氐拇嬖谑沟脗鬏敻哂蟹€(wěn)定性 UDP 雖然效率更高 但是有掉包的情況出現(xiàn) 這是本方案所不允許的 3 1 2 JPEG 壓縮技術(shù) 要想對(duì)遠(yuǎn)程主機(jī)進(jìn)行監(jiān)控 就需要截取遠(yuǎn)程主機(jī)的屏幕圖像 并將圖 像發(fā)送到本地計(jì)算機(jī) 本地計(jì)算機(jī)接收該圖像并顯示到程序界面中 截取 的屏幕圖像根據(jù)屏幕分辨率的不同 圖像數(shù)據(jù)的大小也不同 最常用的 1024 768 分辨率的屏幕截取圖像大約 4MB 5MB 這么大的圖片在網(wǎng)絡(luò) 中傳送非常慢 滿足不了用戶的需求 必須控制圖片的大小 使它更有利 于網(wǎng)絡(luò)傳送 控制圖片大小的方法主要有三種 1 降低圖片的顏色值 2 縮小圖像的尺寸 3 使用壓縮的圖片格式 根據(jù)用戶需求 本系統(tǒng)采用第 3 種方法 將捕捉的屏幕圖像編碼為支持壓縮格式的 JPEG 類型的圖片 然后在網(wǎng)絡(luò)中傳送 一張 1024 768 分辨率的屏幕截圖 編碼為 JPEG 格 式大約 150KB 它在局域網(wǎng)中的傳送速度可以滿足用戶需求 JPEG 是 Joint Photographic Experts Group 聯(lián)合圖像專家組 的縮寫 文 局域網(wǎng)中遠(yuǎn)程桌面監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 第 3 章 7 件后輟名為 jpg 或 jpeg 是目前網(wǎng)絡(luò)上最流行的圖像格式 由一個(gè) 軟件開發(fā)聯(lián)合會(huì)組織制定 是一種有損壓縮格式 能夠?qū)D像壓縮在很小 的儲(chǔ)存空間 JPEG 壓縮技術(shù)十分先進(jìn) 它用有損壓縮方式去除冗余的圖 像數(shù)據(jù) 在獲得極高的壓縮率的同時(shí)能展現(xiàn)十分豐富生動(dòng)的圖像 而且 JPEG 是一種很靈活的格式 具有調(diào)節(jié)圖像質(zhì)量的功能 允許用不同的壓 縮比例對(duì)文件進(jìn)行壓縮 支持多種壓縮級(jí)別 壓縮比率通常在 10 1 到 40 1 之間 壓縮比越大 品質(zhì)就越低 相反地 壓縮比越小 品質(zhì)就越好 當(dāng)然也可以在圖像質(zhì)量和文件尺寸之間找到平衡點(diǎn) JPEG 格式壓縮的主 要是高頻信息 對(duì)色彩的信息保留較好 適合應(yīng)用于互聯(lián)網(wǎng) 可減少圖像 的傳輸時(shí)間 可以支持 24bit 真彩色 也普遍應(yīng)用于需要連續(xù)色調(diào)的圖像 JPEG 格式的應(yīng)用非常廣泛 目前各類瀏覽器均支持 JPEG 這種圖像格 式 因?yàn)?JPEG 格式的文件尺寸較小 下載速度快 JPEG 格式又可分為標(biāo)準(zhǔn) JPEG 漸進(jìn)式 JPEG 及 JPEG2000 三種格式 1 標(biāo)準(zhǔn) JPEG 格式 此類型圖像在網(wǎng)頁下載時(shí)只能由上而下依序 顯示圖片 直到圖片資料全部下載完畢 才能看到全貌 2 漸進(jìn)式 JPEG 格式 漸進(jìn)式 JPG 為標(biāo)準(zhǔn) JPG 的改良格式 可以 在網(wǎng)頁下載時(shí) 先呈現(xiàn)出圖片的粗略外觀后 再慢慢地呈現(xiàn)出完整的內(nèi)容 就像 GIF 格式的交錯(cuò)顯示 而且存成漸進(jìn)式 JPG 格式的檔案比存成標(biāo)準(zhǔn) JPG 格式的檔案要來得小 所以如果要在網(wǎng)頁上使用圖片 可以多用這種 格式 3 JPEG2000 格式 新一代的影像壓縮法 壓縮品質(zhì)更好 并可改 善無線傳輸時(shí)因訊號(hào)不穩(wěn)造成馬賽克及位置錯(cuò)亂的情況 改善傳輸?shù)钠焚|(zhì) 3 1 3 Java 的 RMI 技術(shù) RMI Remote Method Invoke 是 Java 的遠(yuǎn)程方法調(diào)用技術(shù) 支持 Java 的分布式對(duì)象之間的方法調(diào)用 本系統(tǒng)的控制功能就是利用 RMI 技 術(shù)直接調(diào)用遠(yuǎn)程計(jì)算機(jī)的鼠標(biāo)和鍵盤控制方法 執(zhí)行各種操作 RMI 使用 Java 語言接口定義了遠(yuǎn)程對(duì)象 它集合了 Java 序列化和 局域網(wǎng)中遠(yuǎn)程桌面監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 第 3 章 8 Java 遠(yuǎn)程方法協(xié)議 Java Remote Method Protocol 簡單地說 這樣使原先 的程序在同一操作系統(tǒng)的方法調(diào)用 變成了不同操作系統(tǒng)之間程序的方法 調(diào)用 RMI Remote Method Invocation 遠(yuǎn)程方法調(diào)用 是用 Java 在 JDK1 1 中實(shí)現(xiàn)的 它大大增強(qiáng)了 Java 開發(fā)分布式應(yīng)用的能力 Java 作為 一種風(fēng)靡一時(shí)的網(wǎng)絡(luò)開發(fā)語言 其巨大的威力就體現(xiàn)在它強(qiáng)大的開發(fā)分布 式網(wǎng)絡(luò)應(yīng)用的能力上 而 RMI 就是開發(fā)百分之百純 Java 的網(wǎng)絡(luò)分布式應(yīng) 用系統(tǒng)的核心解決方案之一 RMI 目前使用 Java 遠(yuǎn)程消息交換協(xié)議 JRMP Java Remote Messaging Protocol 進(jìn)行通信 JRMP 是專為 Java 的遠(yuǎn)程對(duì)象制定的協(xié)議 因此 Java RMI 具有 Java 的 Write Once Run Anywhere 的優(yōu)點(diǎn) 是分布式應(yīng) 用系統(tǒng)的百分之百純 Java 解決方案 用 Java RMI 開發(fā)的應(yīng)用系統(tǒng)可以部 署在任何支持 JRE Java Run Environment Java 運(yùn)行環(huán)境 的平臺(tái)上 但 由于 JRMP 是專為 Java 對(duì)象制定的 因此 RMI 對(duì)于用非 Java 語言開發(fā) 的應(yīng)用系統(tǒng)的支持不足 不能與用非 Java 語言書寫的對(duì)象進(jìn)行通信 RMI 應(yīng)用程序通常包括兩個(gè)獨(dú)立的程序 服務(wù)器程序和客戶機(jī)程序 典型 的服務(wù)器應(yīng)用程序?qū)?chuàng)建多個(gè)遠(yuǎn)程對(duì)象 使這些遠(yuǎn)程對(duì)象能夠被引用 然 后等待客戶機(jī)調(diào)用這些遠(yuǎn)程對(duì)象的方法 而典型的客戶機(jī)程序則從服務(wù)器 中得到一個(gè)或多個(gè)遠(yuǎn)程對(duì)象的引用 然后調(diào)用遠(yuǎn)程對(duì)象的方法 RMI 為服 務(wù)器和客戶機(jī)進(jìn)行通信和信息傳遞提供了一種機(jī)制 RMI 的主要優(yōu)點(diǎn)如下 面向?qū)ο?RMI 可將完整的對(duì)象作為參數(shù)和返回值進(jìn)行傳遞 而不僅 僅是預(yù)定義的數(shù)據(jù)類型 RMI 不需額外的客戶程序代碼 將對(duì)象分解成基 本數(shù)據(jù)類型 直接跨網(wǎng)傳遞對(duì)象 安全 RMI 使用 Java 內(nèi)置的安全機(jī)制保證下載執(zhí)行程序時(shí)用戶系統(tǒng) 的安全 RMI 使用專門為保護(hù)系統(tǒng)免遭惡意小應(yīng)用程序侵害而設(shè)計(jì)的安全 管理程序 可保護(hù)系統(tǒng)和網(wǎng)絡(luò)免遭潛在的惡意下載程序的破壞 便于編寫和使用 RMI 使得 Java 遠(yuǎn)程服務(wù)程序和訪問這些服務(wù)程序 的 Java 客戶程序的編寫工作變得輕松 簡單 遠(yuǎn)程接口實(shí)際上就是 Java 接口 服務(wù)程序大約用三行指令宣布本身是服務(wù)程序 其它方面則與任何 局域網(wǎng)中遠(yuǎn)程桌面監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 第 3 章 9 其它 Java 對(duì)象類似 這種簡單方法便于快速編寫完整的分布式對(duì)象系統(tǒng)的 服務(wù)程序 并快速地制作軟件的原型和早期版本 以便于進(jìn)行測(cè)試和評(píng)估 因?yàn)?RMI 程序編寫簡單 所以維護(hù)也簡單 編寫一次 到處運(yùn)行 RMI 是 Java 編寫一次 到處運(yùn)行 方法的一部 分 任何基于 RMI 的系統(tǒng)均可 100 地移植到任何 Java 虛擬機(jī)上 分布式垃圾收集 RMI 采用其分布式垃圾收集功能收集不再被網(wǎng)絡(luò)中 任何客戶程序所引用的遠(yuǎn)程服務(wù)對(duì)象 與 Java 虛擬機(jī)內(nèi)部的垃圾收集類 似 分布式垃圾收集功能允許用戶根據(jù)自己的需要定義服務(wù)器對(duì)象 并且 明確這些對(duì)象在不再被客戶機(jī)引用時(shí)會(huì)被刪除 并行計(jì)算 RMI 采用多線程處理方法 可使服務(wù)器利用這些 Java 線 程更好地并行處理客戶端的請(qǐng)求 3 2 可行性分析 3 2 1 技術(shù)可行性 遠(yuǎn)程控制技術(shù)早在 DOS 時(shí)代就已經(jīng)存在 只是受到當(dāng)時(shí)硬件環(huán)境和 網(wǎng)絡(luò)技術(shù)的制約 沒有得到更多的關(guān)注 隨著網(wǎng)絡(luò)的迅速發(fā)展 這項(xiàng)技術(shù) 越來越熱門 發(fā)展至今以非常成熟 對(duì)于以上所采用的技術(shù) Java 對(duì)其支持已非常完善 關(guān)于 Socket 的 API 存在于 J 這個(gè)包里面 因此只要導(dǎo)入這個(gè)包 就可以完成兩個(gè)進(jìn)程之間相互通訊 其中一個(gè)進(jìn)程提供一個(gè)固定的位置 而另一個(gè)進(jìn)程則只需要知道這個(gè)固定的位置 并去建立兩者之間的聯(lián)系 然后完成數(shù)據(jù)的通訊就可以了 關(guān)于 JPEG 的 API 存在于 com sun image codec jpeg 包中 因此只要導(dǎo) 入這個(gè)包就可以對(duì)圖像進(jìn)行 JPEG 編解碼了 關(guān)于 RMI 可能顯得有些復(fù)雜 但只要完成以下四步就可以創(chuàng)建一個(gè) RMI 應(yīng)用 1 創(chuàng)建遠(yuǎn)程接口 繼承 java rmi Remote 接口 2 創(chuàng)建遠(yuǎn) 程類 實(shí)現(xiàn)遠(yuǎn)程接口 3 創(chuàng)建服務(wù)器程序 負(fù)責(zé)在 rmiregistry 注冊(cè)表中 注冊(cè)遠(yuǎn)程對(duì)象 4 創(chuàng)建客戶程序 負(fù)責(zé)定位遠(yuǎn)程對(duì)象 并且調(diào)用遠(yuǎn)程對(duì) 局域網(wǎng)中遠(yuǎn)程桌面監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 第 3 章 10 象的方法 綜上所述 本系統(tǒng)的開發(fā)技術(shù)可行 3 2 2 經(jīng)濟(jì)可行性 本軟件成本低廉 對(duì)硬件要求也不高 對(duì)于支持 TCP IP 協(xié)議的局域 網(wǎng)來說 不需要購買更多的硬件設(shè)施 適合于目前大多數(shù)的網(wǎng)絡(luò)環(huán)境 所 以說本系統(tǒng)的開發(fā)經(jīng)濟(jì)可行 3 3 編程語言與開發(fā)工具 本系統(tǒng)采用 Java 編程語言實(shí)現(xiàn) 由 NetBeansIDE6 7 開發(fā) 3 3 1 Java 編程語言 Java 是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 程序設(shè)計(jì) 語言和 Java 平臺(tái)的總稱 用 Java 實(shí)現(xiàn)的 HotJava 瀏覽器 支持 Java applet 顯示了 Java 的魅力 跨平臺(tái) 動(dòng)態(tài)的 Web Internet 計(jì)算 從此 Java 被廣泛接受并推動(dòng)了 Web 的迅速發(fā)展 常用的瀏覽器現(xiàn)在均支持 Java applet 另一方面 Java 技術(shù)也不斷更新 Java 平臺(tái)由 Java 虛擬機(jī) Java Virtual Machine 和 Java 應(yīng)用編程接 口 Application Programming Interface 簡稱 API 構(gòu)成 Java 應(yīng)用編程 接口為 Java 應(yīng)用提供了一個(gè)獨(dú)立于操作系統(tǒng)的標(biāo)準(zhǔn)接口 可分為基本部分 和擴(kuò)展部分 在硬件或操作系統(tǒng)平臺(tái)上安裝一個(gè) Java 平臺(tái)之后 Java 應(yīng)用 程序就可運(yùn)行 現(xiàn)在 Java 平臺(tái)已經(jīng)嵌入了幾乎所有的操作系統(tǒng) 這樣 Java 程序可以只編譯一次 就可以在各種系統(tǒng)中運(yùn)行 3 3 2 NetBeans 開發(fā)工具 NetBeans 由 Sun 公司在 2000 年創(chuàng)立 它是開發(fā)人員和客戶社區(qū)的家 園 旨在構(gòu)建世界級(jí)的 Java IDE NetBeans 當(dāng)前可以在 Solaris Windows Linux 和 Macintosh OS X 平臺(tái)上進(jìn)行開發(fā) 并在 局域網(wǎng)中遠(yuǎn)程桌面監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 第 3 章 11 SPL Sun 公用許可 范圍內(nèi)使用 NetBeans 是一個(gè)全功能的開放源碼 Java IDE 可以幫助開發(fā)人員編寫 編譯 調(diào)試和部署 Java 應(yīng)用 并將版本控制和 XML 編輯融入其眾多功能 之中 NetBeans 可支持 Java 2 平臺(tái)標(biāo)準(zhǔn)版 J2SE 應(yīng)用的創(chuàng)建 采用 JSP 和 Servlet 的 2 層 Web 應(yīng)用的創(chuàng)建 以及用于 2 層 Web 應(yīng)用的 API 及軟件 的核心組的創(chuàng)建 所有這些都為 Java 開發(fā)人員創(chuàng)造了一個(gè)可擴(kuò)展的開放源 多平臺(tái)的 Java IDE 以支持他們?cè)诟髯运x擇的環(huán)境中從事開發(fā)工作 如 Solaris Linux Windows 或 Macintosh NetBeans 是一個(gè)為軟件開發(fā)者而設(shè)計(jì)的自由 開放的 IDE 集成開發(fā) 環(huán)境 可以在這里獲得許多需要的工具 包括建立桌面應(yīng)用 企業(yè)級(jí)應(yīng) 用 WEB 開發(fā)和 JAVA 移動(dòng)應(yīng)用程序開發(fā) C C 甚至 Ruby NetBeans 可以非常方便的安裝于多種操作系統(tǒng)平臺(tái) 包括 Windows Linux Mac OS 和 Solaris 等操作系統(tǒng) 局域網(wǎng)中遠(yuǎn)程桌面監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 第 4 章 12 第 4 章 系統(tǒng)分析與設(shè)計(jì) 4 1 系統(tǒng)基本框架 系統(tǒng)基本框架 如圖 4 1 所示 在支持 TCP IP 協(xié)議的局域網(wǎng)中 本 地計(jì)算機(jī)與遠(yuǎn)程主機(jī)通過物理網(wǎng)絡(luò)相連 遠(yuǎn)程主機(jī)運(yùn)行被控端程序 監(jiān)聽 固定端口等待連接 本地計(jì)算機(jī)運(yùn)行主控端程序 連接指定端口 兩端的 程序通過套接字 Socket 建立連接 并通過 Socket 輸入輸出流收發(fā)信息 實(shí)現(xiàn)監(jiān)視和控制功能 Socket 通過 TCP IP 協(xié)議實(shí)現(xiàn)兩端計(jì)算機(jī)的數(shù)據(jù)通 信 物理網(wǎng)絡(luò) 支持 TCP IP 協(xié)議局域網(wǎng) 如 IEEE802 3 發(fā)送 接收 發(fā)送 接收 建 立 連 接 主控端 客戶端 被控端 服務(wù)端 連接遠(yuǎn)程主機(jī)等待遠(yuǎn)程連接 發(fā)送控制信息執(zhí)行控制命令 圖 4 1 系統(tǒng)基本框架 獲取桌面信息顯示桌面信息 Socket TCP IP 局域網(wǎng)中遠(yuǎn)程桌面監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 第 4 章 13 4 2 系統(tǒng)總體設(shè)計(jì)與功能結(jié)構(gòu) 總體功能結(jié)構(gòu) 如圖 4 2 所示 包括主控端和被控端兩大部分 其中 主控端包括三大模塊 即 本地的配置管理模塊 接收遠(yuǎn)程主機(jī)發(fā)送的桌 面信息并繪制到組件顯示 實(shí)現(xiàn)監(jiān)視功能模塊和發(fā)送控制信息實(shí)現(xiàn)對(duì)遠(yuǎn)程 主機(jī)的控制功能模塊 被控端也包括三大模塊 即 本地配置管理模塊 獲取并發(fā)送桌面圖片為主控端的監(jiān)視提供信息服務(wù)模塊和響應(yīng)主控端的控 制請(qǐng)求模塊 按控制信息進(jìn)行指定的操作 遠(yuǎn)程桌面監(jiān)控系統(tǒng) 主控端 客戶端 被控端 服務(wù)端 配 置 管 理 模 塊 發(fā) 送 桌 面 信 息 配 置 管 理 模 塊 響 應(yīng) 控 制 模 塊 遠(yuǎn) 程 控 制 模 塊 顯 示 遠(yuǎn) 程 桌 面 圖 4 2 總體功能結(jié)構(gòu) 4 3 主控端系統(tǒng)設(shè)計(jì)與功能結(jié)構(gòu) 主控端程序是遠(yuǎn)程桌面監(jiān)控系統(tǒng)兩大組成部分之一 它要實(shí)現(xiàn)對(duì)遠(yuǎn)程 主機(jī)的基本監(jiān)視功能 在控制功能上還要對(duì)各個(gè)細(xì)節(jié) 如 鼠標(biāo)的單擊 雙擊 拖拽 滾輪等 加以實(shí)現(xiàn) 除此之外 對(duì)還要實(shí)現(xiàn)系統(tǒng)的基本配置 功能 這都無疑增加了程序的復(fù)雜性 對(duì)系統(tǒng)分塊處理是降低其復(fù)雜性的 有效方法 本系統(tǒng)將主控端程序分成三大模塊 逐一實(shí)現(xiàn) 局域網(wǎng)中遠(yuǎn)程桌面監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 第 4 章 14 4 3 1 配置管理模塊 配置管理模塊主要實(shí)現(xiàn)對(duì)系統(tǒng)的基本操作和設(shè)置 并增加一些附加功 能 可以提高整個(gè)系統(tǒng)的性能 使其功能更強(qiáng) 配置管理模塊的功能結(jié)構(gòu)如圖 4 3 所示 包括兩大功能 基本操作功 能和掃描可連主機(jī)功能 1 基本操作功能 輸入 IP 地址 輸入要監(jiān)控的遠(yuǎn)程主機(jī)的 IP 地址 格式采用點(diǎn)分 1 十進(jìn)制 32 位的 IP V4地址 輸入端口號(hào) 輸入遠(yuǎn)程主機(jī)被控端程序監(jiān)聽的端口號(hào) 為了避 2 免與其它應(yīng)用程序發(fā)生沖突 端口號(hào)應(yīng)大于 1024 小于 65535 輸入連接密碼 出于安全考慮 防止非法用戶連接遠(yuǎn)程主機(jī) 3 被控端應(yīng)要求主控端輸入正確的鏈接密碼 輸入發(fā)送速度 為了滿足用戶對(duì)網(wǎng)絡(luò)通信量和系統(tǒng)實(shí)時(shí)性的不 4 同要求 本系統(tǒng)可以手動(dòng)設(shè)置發(fā)送速度 發(fā)送速度從 0 毫秒抓取一張至 1000 毫秒抓取一張 速度越快 實(shí)時(shí)性越好 但是通信量越大 速度越慢 通信量越小 但實(shí)時(shí)性越差 系統(tǒng)默認(rèn) 100 毫秒抓取一張 2 掃描可連主機(jī)功能 在局域網(wǎng)中包含很多主機(jī) 對(duì)于主控端來說 需要知道哪些主機(jī)可以 連接并且獲取可連接主機(jī)的 IP 地址 掃描可連主機(jī)成為提高系統(tǒng)實(shí)用性 與方便操作的重要功能 在大多數(shù)局域網(wǎng)中 主機(jī)的網(wǎng)絡(luò)地址是相同的 子網(wǎng)掩碼是相同的 主機(jī) 地址是連續(xù)的 這就使掃描可連主機(jī)成為了可能 對(duì)于設(shè)定的一段 IP 地 址 按照設(shè)定的端口逐個(gè)連接來判斷其可連接性 就解決來上述問題 輸入掃描端口號(hào) 輸入遠(yuǎn)程主機(jī)被控端程序監(jiān)聽的端口號(hào) 數(shù) 1 值應(yīng)大于 1024 小于 65535 分別輸入起始 IP 地址和結(jié)束 IP 地址 其中網(wǎng)絡(luò)號(hào)應(yīng)相同 子網(wǎng) 2 掩碼是 255 255 255 000 3 信息顯示功能 信息顯示功能用于實(shí)時(shí)顯示系統(tǒng)的狀態(tài) 獲取一些相關(guān)的信息 如系 局域網(wǎng)中遠(yuǎn)程桌面監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 第 4 章 15 統(tǒng)開始運(yùn)行的時(shí)間 對(duì)操作錯(cuò)誤的提示 本地的主機(jī)名和 IP 地址等 配置管理模塊 基本操作功能掃描可連主機(jī)功能 輸 入 IP 地 址 輸 入 端 口 號(hào) 輸 入 連 接 密 碼 輸 入 發(fā) 送 速 度 要 掃 描 端 口 號(hào) 起 始 IP 地 址 結(jié) 束 IP 地 址 信 息 顯 示 功 能 圖 4 3 主控端配置管理模塊 4 3 2 顯示遠(yuǎn)程桌面模塊 顯示遠(yuǎn)程桌面模塊的功能結(jié)構(gòu)如圖 4 4 所示 它是主控端的核心部分 不僅需要讀取輸入流中的數(shù)據(jù)并解碼 而且需要將圖片繪制到自己創(chuàng)建的 容器中 除此之外 還要在容器中添加遠(yuǎn)程控制的開關(guān)組件和調(diào)節(jié)發(fā)送速 度的組件 1 顯示遠(yuǎn)程桌面 讀取輸入流中的數(shù)據(jù)并解碼 連接建立后 從輸入流中讀取的數(shù) 1 據(jù)是經(jīng)過被控端編碼后發(fā)送過來 因此需要解碼才能將圖片繪制到容器 創(chuàng)建容器并繪制圖片 創(chuàng)建的容器與圖片的大小會(huì)不一致 因此 2 需要根據(jù)容器的大小計(jì)算圖片的縮放比例 2 開關(guān)遠(yuǎn)程控制 對(duì)遠(yuǎn)程主機(jī)的控制在需要時(shí)開啟 在不需要時(shí)關(guān)閉可以提高系統(tǒng)的靈 活性 因此需要在容器中添加開關(guān)按鈕 3 調(diào)節(jié)發(fā)送速度 局域網(wǎng)中遠(yuǎn)程桌面監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 第 4 章 16 為了滿足用戶對(duì)網(wǎng)絡(luò)通信量和系統(tǒng)實(shí)時(shí)性的不同要求 本系統(tǒng)可以隨 時(shí)改變發(fā)送速度 發(fā)送速度從 0 毫秒抓取一張至 1000 毫秒抓取一張 速 度越快 實(shí)時(shí)性越好 但是通信量越大 速度越慢 通信量越小 但實(shí)時(shí) 性越差 系統(tǒng)默認(rèn) 100 毫秒抓起一張 顯示遠(yuǎn)程桌面模塊 顯 示 遠(yuǎn) 程 桌 面 關(guān) 閉 遠(yuǎn) 程 控 制 調(diào) 節(jié) 發(fā) 送 頻 率 開 啟 遠(yuǎn) 程 控 制 圖 4 4 主控端顯示遠(yuǎn)程桌面模塊 4 3 3 遠(yuǎn)程控制模塊 遠(yuǎn)程控制模塊主要實(shí)現(xiàn)對(duì)遠(yuǎn)程主機(jī)的鼠標(biāo)和鍵盤進(jìn)行控制 其功能結(jié) 構(gòu)如圖 4 5 所示 遠(yuǎn)程控制模塊主要包括 鼠標(biāo)操作功能和鍵盤操作功能 1 鼠標(biāo)操作功能 根據(jù)本地計(jì)算機(jī)的鼠標(biāo)事件向遠(yuǎn)程主機(jī)發(fā)送控制信息 2 鍵盤操作功能 根據(jù)本地計(jì)算機(jī)的鍵盤事件向遠(yuǎn)處主機(jī)發(fā)送控制信息 局域網(wǎng)中遠(yuǎn)程桌面監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 第 4 章 17 遠(yuǎn)程控制模塊 鼠標(biāo)操作功能鍵盤操作功能 鼠 標(biāo) 雙 擊 控 制 鼠 標(biāo) 移 動(dòng) 控 制 鼠 標(biāo) 滾 輪 控 制 鼠 標(biāo) 拖 拽 控 制 按 鍵 按 下 控 制 按 鍵 抬 起 控 制 鼠 標(biāo) 單 擊 控 制 控 制 發(fā) 送 頻 率 圖 4 5 主控端遠(yuǎn)程控制模塊 4 4 被控端設(shè)計(jì)功能結(jié)構(gòu) 被控端程序同主控端程序一樣也是遠(yuǎn)程桌面監(jiān)控系統(tǒng)的重要組成部分 它不僅要抓取桌面圖片 并且編碼后發(fā)送到輸出流 還要按照主控端的控 制請(qǐng)求執(zhí)行相應(yīng)操作 除此之外 對(duì)還要實(shí)現(xiàn)系統(tǒng)的基本配置功能 這都 無疑增加了程序的復(fù)雜性 對(duì)系統(tǒng)分塊處理是降低其復(fù)雜性的有效方法 本系統(tǒng)將被控端程序分成三大模塊 逐一實(shí)現(xiàn) 4 4 1 配置管理模塊 配置管理模塊主要實(shí)現(xiàn)對(duì)系統(tǒng)的基本操作和設(shè)置 并增加一些安全方 面的考慮 以提高系統(tǒng)的安全性 配置管理模塊功能結(jié)構(gòu)如圖 4 6 所示 包括兩大功能 安全管理功能 和系統(tǒng)基本設(shè)置功能 1 安全管理功能 只有輸入正確的管理密碼才能退出系統(tǒng)或改變系統(tǒng)設(shè)置 2 系統(tǒng)基本設(shè)置 局域網(wǎng)中遠(yuǎn)程桌面監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 第 4 章 18 在正確輸入了管理密碼后 可以對(duì)系統(tǒng)進(jìn)行設(shè)置 包括重設(shè)端口號(hào) 連接密碼 管理密碼和恢復(fù)默認(rèn)值等等 圖 4 6 被控端配置管理模塊 配置管理模塊 安全管理功能 輸 入 退 出 密 碼 輸 入 設(shè) 置 密 碼 信 息 顯 示 窗 口 系 統(tǒng) 退 出 操 作 系統(tǒng)基本設(shè)置 恢 復(fù) 默 認(rèn) 設(shè) 置 重 設(shè) 監(jiān) 聽 端 口 重 設(shè) 連 接 密 碼 重 設(shè) 管 理 密 碼 4 4 2 發(fā)送桌面信息模塊 為減少通信量 抓取圖片后都與上一次抓取的圖片進(jìn)行比較 如果相 同則不發(fā)送 如果不同再發(fā)送 發(fā)送桌面信息模塊如圖 4 7 所示 1 獲取桌面信息 根據(jù)設(shè)定的發(fā)送速度 每個(gè)一段時(shí)間抓取一幅桌面圖片 然后進(jìn)行比 較 2 圖片信息編碼 對(duì)抓取的圖片進(jìn)行比較后 如果不同就按照 JPEG 格式對(duì)圖片進(jìn)行壓 縮 3 編碼信息輸出 將壓縮后的圖片信息寫入輸出流 局域網(wǎng)中遠(yuǎn)程桌面監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 第 4 章 19 發(fā)送桌面信息模塊 編 碼 信 息 輸 出 圖 片 信 息 編 碼 獲 取 桌 面 信 息 圖 4 7 被控端發(fā)送桌面信息模塊 4 4 3 響應(yīng)控制模塊 響應(yīng)控制模塊的功能結(jié)構(gòu)如圖 4 8 所示 它主要是根據(jù)主控端的控制 信息 執(zhí)行相應(yīng)的鍵盤和鼠標(biāo)操作 包括鼠標(biāo)操作功能和鍵盤操作功能 響應(yīng)控制模塊 鼠標(biāo)操作功能鍵盤操作功能 鼠 標(biāo) 雙 擊 響 應(yīng) 鼠 標(biāo) 移 動(dòng) 響 應(yīng) 鼠 標(biāo) 滾 輪 響 應(yīng) 鼠 標(biāo) 拖 拽 響 應(yīng) 按 鍵 按 下 響 應(yīng) 按 鍵 抬 起 響 應(yīng) 鼠 標(biāo) 單 擊 響 應(yīng) 改 變 發(fā) 送 速 度 圖 4 8 被控端響應(yīng)控制模塊 局域網(wǎng)中遠(yuǎn)程桌面監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 第 5 章 20 第 5 章 系統(tǒng)實(shí)現(xiàn) 5 1 系統(tǒng)實(shí)現(xiàn)思路 基于以上系統(tǒng)分析 遠(yuǎn)程桌面監(jiān)控系統(tǒng)實(shí)際上是主控端程序與被控端 程序通過套接字 Socket 建立連接并進(jìn)行數(shù)據(jù)通信 達(dá)到監(jiān)控與被監(jiān)控的目 的 因此 需要兩個(gè)獨(dú)立的程序 ClientProgram 主控端 和 ServiceProgram 被控端 其程序總體流程如圖 5 1 所示 首先 ServiceProgram 被控端 監(jiān)聽設(shè)定的端口 等待 ClientProgram 主控端 的連接請(qǐng)求 ClientProgram 連接指定端口 與 SreviceProgram 建立連接后 ServiceProgram 抓取桌面圖像 編碼后發(fā)送 ClientProgram 接收?qǐng)D像 解 碼后繪制到組件上顯示 ClientProgram 發(fā)送控制請(qǐng)求 ServiceProgram 響 應(yīng)控制請(qǐng)求并按控制信息進(jìn)行相應(yīng)操作 局域網(wǎng)中遠(yuǎn)程桌面監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 第 5 章 21 否 是 否 是 否 是 開 始 服務(wù)端監(jiān)聽端口等待連接 連接 發(fā)送桌面信息 獲取桌面信息 執(zhí)行控制命令 斷開連接 響應(yīng)連接請(qǐng)求 連 接 接收桌面信息 顯示遠(yuǎn)程桌面接收控制信息 輸入 IP 地址 輸入端口號(hào) 發(fā)送控制信息 圖 5 1 程序總體流程圖 SericeProgram ClientProgram 開 始 是 結(jié) 束 斷開連接 程序終止 否 是 結(jié) 束 否 程序終止 局域網(wǎng)中遠(yuǎn)程桌面監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 第 5 章 22 5 2 主控端程序 Client Program 進(jìn)程是操作系統(tǒng)結(jié)構(gòu)的基礎(chǔ) 是一個(gè)正在執(zhí)行的程序 當(dāng)運(yùn)行一個(gè)程 序 就啟動(dòng)了一個(gè)進(jìn)程 主控端程序的運(yùn)行就啟動(dòng)了一個(gè)進(jìn)程 進(jìn)程又被 細(xì)化為線程 也就是一個(gè)進(jìn)程下有多個(gè)能獨(dú)立運(yùn)行的更小的單位 雖然在 感覺上 多個(gè)線程是在同時(shí)運(yùn)行 但事實(shí)上 在某一時(shí)間點(diǎn)上 CPU 運(yùn)行 的線程只有一個(gè) 在 Java 語言中實(shí)現(xiàn) Runnable 接口是創(chuàng)建線程的一個(gè)必要條件 Runnable 接口位于 java lang 包中 它只有一個(gè)方法 run run 方法沒有 返回值 使用實(shí)現(xiàn)接口 Runnable 的對(duì)象創(chuàng)建一個(gè)線程時(shí) 啟動(dòng)該線程將 導(dǎo)致在獨(dú)立執(zhí)行的線程中調(diào)用對(duì)象的 run 方法 本系統(tǒng)在主控端程序 ClientProgram 定義兩個(gè)線程分別是 遠(yuǎn)程桌 面監(jiān)控線程 ReceiveImageThread 和配置管理線程 MainFrameThread MainFrameThread 線程實(shí)現(xiàn)基本操作功能和掃描可連主機(jī)功能 ReceiveImageThread 線程實(shí)現(xiàn)桌面顯示功能 對(duì)遠(yuǎn)程主機(jī)的鼠標(biāo)和鍵盤操 作的功能 5 2 1 配置管理模塊中的基本操作功能 1 程序流程圖與運(yùn)行效果圖 基本操作功能程序流程如圖 5 2 所示 它是 ClientProgram 的開始 它 的主要功能是接收用戶輸入的數(shù)據(jù) 定義遠(yuǎn)程主機(jī)的 IP 地址和端口號(hào) 只有確定了運(yùn)行 ServiceProgram 的遠(yuǎn)程主機(jī)的 IP 地址 才能進(jìn)行互聯(lián) 局域網(wǎng)中遠(yuǎn)程桌面監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 第 5 章 23 是 否 否 否 否 否 是 是 是 否 是 開始 輸入 IP 地址和端口 號(hào) 輸入連接密碼 輸入發(fā)送速度 按鈕事件 監(jiān)聽 連接 按鈕 IP 地址與端口號(hào)正確 斷開連接 頻率正確 連接遠(yuǎn)程主機(jī) 默認(rèn) 100 圖 5 2 主控端基本操作功能程序流程圖 是 程序終止 結(jié) 束 連接成功 顯示遠(yuǎn)程桌面模塊 在基本操作界面中 放置了 4 個(gè)單行文本框 兩個(gè)按鈕和一個(gè)多行文 本框 運(yùn)行效果如圖 5 3 所示 局域網(wǎng)中遠(yuǎn)程桌面監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 第 5 章 24 圖 5 3 主控端基本操作界面 2 實(shí)現(xiàn)主控端基本操作界面的關(guān)鍵步驟如下 編寫 MainFrameThread 類實(shí)現(xiàn) Runnable 接口 覆蓋 public void 1 run 方法 創(chuàng)建程序主界面線程 編寫 連接 按鈕的事件處理方法 該方法從相應(yīng)文本框中獲取 2 用戶輸入的 IP 地址 端口號(hào)和連接密碼等信息 并根據(jù)相應(yīng)信息與遠(yuǎn)程 主機(jī)建立連接 并啟動(dòng)遠(yuǎn)程桌面監(jiān)控線程 編寫 拉開 按鈕的事件處理方法 該方法用于實(shí)現(xiàn)掃描可連主 3 機(jī)功能 編寫 getTime 方法 該方法在程序啟動(dòng)時(shí)調(diào)用 記錄系統(tǒng)啟動(dòng)時(shí) 4 間 在用戶進(jìn)行其他操作時(shí)也調(diào)用本方法 編寫 initSystemTray 方法 該方法可以將程序窗體隱藏 只在系 5 統(tǒng)托盤中提供一個(gè)托盤圖標(biāo) 可以使用鼠標(biāo)單擊該圖片 顯示程序窗體 3 類 構(gòu)造函數(shù)和主要方法介紹 在基本操作功能中用到的類主要有 JFrame JLabel JButton TextField TextArea SystemTray TrayIcon I mageIcon InetAddress GregorianCalendar JFrame 類位于 javax swing 包 1 主要功能 局域網(wǎng)中遠(yuǎn)程桌面監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 第 5 章 25 創(chuàng)建帶有標(biāo)題和邊框的頂層窗口 在本模塊中用于創(chuàng)建程序界面 構(gòu)造函數(shù) JFrame String title 創(chuàng)建一個(gè)新的 初始不可見的 具有指定標(biāo)題的 Frame 主要方法 public Component add Component comp 將指定組件添加到此容器中 public void setResizable boolean resizable 設(shè)置此窗體是否可由用戶調(diào) 整大小 JLabel 類位于 javax swing 包 2 主要功能 Label 對(duì)象是一個(gè)可在容器中放置文本的組件 構(gòu)造函數(shù) Label String text 使用指定的文本字符串構(gòu)造一個(gè)新的標(biāo)簽 主要方法 public void setText String text 將此標(biāo)簽的文本設(shè)置為指定的文本 JButton 類位于 javax swing 包 3 主要功能 創(chuàng)建一個(gè)標(biāo)簽按鈕 當(dāng)按下該按鈕時(shí) 應(yīng)用程序能執(zhí)行某項(xiàng)動(dòng)作 構(gòu)造函數(shù) JButton String label 構(gòu)造一個(gè)帶指定標(biāo)簽的按鈕 主要方法 public void setText String text 設(shè)置按鈕的文本 TextField 類位于 java awt 包 4 主要功能 TextField 對(duì)象是允許編輯單行文本的文本組件 構(gòu)造函數(shù) public TextField 構(gòu)造新文本字段 主要方法 public String getText 返回此文本組件表示的文本 局域網(wǎng)中遠(yuǎn)程桌面監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 第 5 章 26 TextArea 類位于 java awt 包 5 主要功能 TextArea 對(duì)象是顯示文本的多行區(qū)域 構(gòu)造函數(shù) public TextArea 構(gòu)造一個(gè)將空字符串作為文本的新文本區(qū) 主要方法 public void append String str 將給定文本追加到文本區(qū)的當(dāng)前文本 SyatemTray 類位于 java awt 包 6 主要功能 SystemTray 類表示桌面的系統(tǒng)托盤 主要方法 public static SystemTray getSystemTray 獲取表示系統(tǒng)托盤的 SystemTray 實(shí)例 public void add TrayIcon trayIcon 將 TrayIcon 添加到 SystemTray 一 旦添加了托盤圖標(biāo) 就可以在系統(tǒng)托盤中看到它 TrayIcon 類位于 java awt 包 7 主要功能 TrayIcon 對(duì)象表示可以添加到系統(tǒng)托盤的托盤圖標(biāo) 構(gòu)造函數(shù) public TrayIcon Image image 創(chuàng)建帶有指定圖像的 TrayIcon 主要方法 public void setImageAutoSize boolean autosize 設(shè)置自動(dòng)調(diào)整大小的屬 性 ImageIcon 類位
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年建筑安全員知識(shí)題庫及答案
- 2025-2030年中國采血器市場(chǎng)發(fā)展?fàn)顩r及前景趨勢(shì)分析報(bào)告
- 2025-2030年中國薯片市場(chǎng)運(yùn)行態(tài)勢(shì)與投資戰(zhàn)略研究報(bào)告
- 2025-2030年中國營養(yǎng)碘鹽市場(chǎng)發(fā)展?fàn)顩r及營銷戰(zhàn)略研究報(bào)告
- 2025-2030年中國自動(dòng)光學(xué)檢測(cè)儀(AOI)市場(chǎng)運(yùn)營狀況及前景趨勢(shì)分析報(bào)告
- 2025-2030年中國絕熱隔音材料產(chǎn)業(yè)運(yùn)行狀況與投資策略研究報(bào)告
- 2025-2030年中國電解金屬錳行業(yè)前景展望規(guī)劃研究報(bào)告
- 2025-2030年中國電站設(shè)備行業(yè)運(yùn)行態(tài)勢(shì)及發(fā)展趨勢(shì)分析報(bào)告
- 延安職業(yè)技術(shù)學(xué)院《染整工藝原理(2)》2023-2024學(xué)年第二學(xué)期期末試卷
- 四川文化藝術(shù)學(xué)院《計(jì)算機(jī)組成》2023-2024學(xué)年第二學(xué)期期末試卷
- 網(wǎng)店運(yùn)營PPT完整全套教學(xué)課件
- 2023年中國工商銀行蘇州分行社會(huì)招聘30人筆試備考試題及答案解析
- 中糧五常筒倉工程施工組織設(shè)計(jì)方案
- 汽車尾氣污染與治理汽車尾氣污染課件
- AIGC及ChatGPT保險(xiǎn)行業(yè)應(yīng)用白皮書
- 新人教版五年級(jí)下冊(cè)數(shù)學(xué)(新插圖) 練習(xí)二 教學(xué)課件
- 磚數(shù)量自動(dòng)計(jì)算、換算表
- 【課題】《中學(xué)道德與法治法治意識(shí)培養(yǎng)策略的研究》中期檢查表
- 《十萬個(gè)為什么》推進(jìn)課(小學(xué)課件)
- 發(fā)展?jié)h語初級(jí)綜合1:第28課《長城有八千八百五十多公里》
- YY/T 1619-2018牙科學(xué)種植體系統(tǒng)及相關(guān)過程的術(shù)語
評(píng)論
0/150
提交評(píng)論