前言:本站為你精心整理了JAVA CS遠程監控系統軟件范文,希望能為你的創作提供參考價值,我們的客服老師可以幫助你提供個性化的參考范文,歡迎咨詢。
摘要
近年來,網絡技術的不斷發展,為遠程監控技術的發展創造了條件。遠程監控系統軟件越來越受到人們的重視,其實用性也毋庸質疑。基于JAVAC/S遠程監控系統軟件突破了空間的限制,使用者不用親臨,在自己的電腦面前就能輕松的實現對被監控端機器的監控。本系統采用Java網絡編程和Java圖形編程實現。筆者在開發過程中將網絡技術與遠程監控理論基礎相結合,實現了以下功能:能連續獲得被監控端機器屏幕變化;實現被監控端硬盤文件的上傳、下載;實現對鼠標、鍵盤的模擬;實現在遠程機器上執行任意DOS命令;遠程關機、遠程重啟計算機,方便了用戶監視和操作被監控端機器。本系統從系統需求分析、概要設計、詳細設計到具體的編碼實現和后期的代碼優化、功能測試都嚴格遵循了軟件工程的思想。
關鍵詞:遠程監控;JavaRobot;屏幕截取;JavaSocket
系統需求分析及理論基礎
2.1系統需求分析
2.1.1系統功能需求
1.連續獲得被控端機器屏幕變化。
2.實現被控端硬盤文件的上傳、下載。
3.實現對鼠標、鍵盤的模擬。
4.實現在被控端機器上執行任意DOS命令。
5.遠程關機、遠程重啟計算機。
2.1.2其他需求
1.系統實用,界面操作簡便。
2.被監控端自動隱藏運行。
被監控端將隨電腦啟動而自動運行,運行時默認無任何可見界面。
2.2系統開發原理及關鍵技術
2.2.1系統開發原理
本系統是利用類java.awt.robot中的屏幕截取和鼠標、鍵盤自動控制功能,然后加上網絡傳輸功能來完成來完成截屏和遠程控制的。
2.2.2系統運行概述
1.啟動被監控端,打開指定的UDP端口號。用于讀取命令。
2.被監控端讀取命令(命令格式為ordername:port)ordername為命令名字,port為主控端打開的TCP端口。
3.接到主控端連接后,被監控端就對當前用戶的桌面采用屏幕截取,然后發送給主控端。依被監控端設計的不同,可以設定屏幕截取的時間間隔,時間間隔短一點就可以獲得連續屏幕變化了。
4.主控端在畫布上對鼠標、鍵盤事件進行監聽,被監控端重演主控端上的事件
5.主控端和被監控端讀取和發送數據,分別來實現文件上傳和下載。
6.在被監控端實現DOS命令的執行。
2.2.3系統的關鍵技術
系統使用的關鍵技術就是Java網絡編程和Java圖形編程。用Java網絡編程實現主控端和被監控端的通訊(命令收發、數據傳送),用Java圖形編程完成主控端控制界面的編寫。具體應用如下:
1.實現主控端(服務器)與被監控端(客戶端)之間的通訊。
——用JavaSocket來實現。
2.用Java采集事件,封裝成消息,用于發送。
——在主控端機器上采集事件(一般只不過是鍵盤和鼠標的事件),然后封裝成消息類傳輸到被監控端。
3.在被監控端上重演主控端的動作事件。
——在被監控端運行client端,接收消息,如果主控端有請求操作的消息,用Robot截下當前屏幕,傳給主控端,主控端顯示被監控端的屏幕,是一個位圖;然后接收在這個位圖上的鼠標事件和鍵盤事件,并把鼠標位置(位圖上的坐標換算成對應的屏幕上的坐標)和鍵值送到被監控端上,在被監控端上重演同樣的事件。
2.3系統的開發平臺
JDK1.5.0,Eclipse3.1,WindowsXPProfessional
2.3.1Eclipse介紹
Eclipse是一種可擴展的開放源代碼IDE。2001年11月,IBM公司捐出價值4,000萬美元的源代碼組建了Eclipse聯盟,并由該聯盟負責這種工具的后續開發。集成開發環境(IDE)經常將其應用范圍限定在“開發、構建和調試”的周期之中。為了幫助集成開發環境(IDE)克服目前的局限性,業界廠商合作創建了Eclipse平臺。Eclipse允許在同一IDE中集成來自不同供應商的工具,并實現了工具之間的互操作性,從而顯著改變了項目工作流程,使開發者可以專注在實際的嵌入式目標上。Eclipse為工具開發商提供了更好的靈活性,使他們能更好地控制自己的軟件技術。Eclipse是一個開放源代碼的項目,任何人都可以下載Eclipse的源代碼,并且在此基礎上開發自己的功能插件。同時可以通過開發新的插件擴展現有插件的功能,比如在現有的Java開發環境中加入Tomcat服務器插件。可以無限擴展,而且有著統一的外觀,操作和系統資源管理,這也正是Eclipse的潛力所在。.3.2Java語言
Java語言是SUN公司于1995年5月推出的新一代面向對象的計算機通用編程語言,是繼WWW之后又一引起世界轟動的產品。Java語言的特點是跨平臺和強大的網絡編程功能。在Java語言誕生之前,Internet已存在,所以Java語言本身就封裝了大量進行網絡編程的類庫,使得網絡編程功能強大,同時又簡化了網絡編程的操作。因此利用Java語言可以開發出功能強大的網絡應用程序。