freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于javacs遠程監(jiān)控系統(tǒng)軟件的實現(xiàn)(編輯修改稿)

2025-06-10 20:34 本頁面
 

【文章內(nèi)容簡介】 模塊接收 主控 端發(fā)來的命令信息,經(jīng) 命令處理 模塊解釋后 , 并將結(jié)果返回到 主控端 。 程序流程及分析 被監(jiān)控端啟動流程 在被監(jiān)控端安裝 客戶 端 程序,程序啟動的時候,嘗試開啟 UDP 端口,如果防火墻或者殺毒軟件阻止,嘗試開啟配置的其它 UDP 端口,如果都嘗試完畢,啟動失敗。否則,將開啟的 UDP 套接字傳入,然后開啟命令接收線程,目的是進行命令獲取,并對獲取的命令進行處理。然后將自己復(fù)制到自啟動項,并改名為. 流程如圖 2。 圖 2 被監(jiān)控端啟動流程 主控端啟動流程 在主控端安裝服務(wù)器程序,主控端首先啟動其控制窗口類,初始化圖形 在主控端安裝 服務(wù)器 程序, 主控 端首先啟動 其 控制窗口類,初始化圖形顯示,然后用 第 8 頁,共 21 頁 戶輸入被監(jiān)控端的 IP 地 址。接著主控端開啟任意 TCP 端口,并向該 IP 配置的UDP 端口發(fā)送初始化命令 (命令格式為 ordername:port) , ordername 為命令名字, port 為主控端打開的 TCP 端口號。 主控端對開啟的 TCP 端口進行監(jiān)聽, 如果超時,連接失敗。否則,主控端讀取被監(jiān)控端的狀態(tài)對象,接著啟動控制模塊和屏幕監(jiān)視模塊。流程如圖 3。 圖 3 主控端啟動流程 圖 4 命令接受和處理流程 第 9 頁,共 21 頁 命令接收和處理流程 被監(jiān)控端 UDP 端口啟動成功后,就開始對該 UDP 端口進行監(jiān)聽,如果監(jiān)聽到有命令,就讀取它,并判斷命令是否有效 ,命令以 ordername:port 為格式,如果無效,返回繼續(xù)讀取命令,否則,調(diào)用相應(yīng)的命令處理模塊對命令進行處理,命令 處理完后將處理結(jié)果返回給主控端。流程如圖 4。 圖形監(jiān)視線程啟動流程 主控端開啟任意 TCP 端口,向被監(jiān)控端的 UDP 端口發(fā)送“要求被監(jiān)控端連接 ” 的UDP 命令,命令形式為 screen: TCP Port。如果命令超時,命令執(zhí)行失敗,否則,如果被監(jiān)視端來連接,生成 Soket 對象,從 Soket 中讀取被監(jiān)視端發(fā)送過來的圖形對象,并將圖象顯示在畫布上,每隔一定時間(若干秒),重新讀取圖象,更 新畫布顯示,從而實現(xiàn)連續(xù)獲得對方屏幕變化。流程如圖 5。 圖 5 圖形監(jiān)視線程啟動流程 遠程控制流程 被監(jiān)控端收到主控端的 UDP 命令: control:TCP Port,獲得主控端開放的TCP 端口號。 成功連接主控端的 TCP 端口后,并從中讀取事件對象,接著對事件對象進行類型判斷,如果是鍵盤事件,就對鍵盤事件重演;如果是鼠標事件,就對鼠標事件重演。接著判定控制套接是否關(guān)閉,如果關(guān)閉,控制結(jié)束。否則返回繼續(xù)讀取事件。流程如圖 6。 第 10 頁,共 21 頁 圖 6 遠程控制流程 文件上傳流程 主控端開啟任意 TCP 端口, 向被監(jiān)控端發(fā)送文件上傳命令,命令格式為:fileup:TCP Port。如果命令超時,文件上傳失敗,否則,主控端讀取文件數(shù)據(jù)并發(fā)送,發(fā)送過程中如果 I/O 錯誤,文件上傳失敗,否則,進行文件是否讀取完判斷,如果讀取完,則上傳成功,否則,繼續(xù)讀取文件數(shù)據(jù)。流程如圖 7。 圖 7 文件上傳流程 第 11 頁,共 21 頁 4 系統(tǒng)主要模塊設(shè)計 和具體功能實現(xiàn) 系統(tǒng) 主要模塊設(shè)計 消息輸入,命令處理結(jié)果顯示模塊 主控端消息 輸入 , 顯示模塊的開發(fā)采用 JAVA 圖形編程 ,利用模塊化、通用性強的特點,實現(xiàn)遠程監(jiān)控中用戶 控制 界面的編寫。 商業(yè)源 代碼,全套計算機畢業(yè)設(shè)計免費下載 更多全套設(shè)計聯(lián)系 :1042897696 最新設(shè)計大全 通信模塊實現(xiàn) 1. Socket 編程 數(shù)據(jù)通信模塊中的數(shù)據(jù)通道建立采用 Socket 編程。 Socket 支持 TCP/ IP協(xié)議網(wǎng)絡(luò)通信的基本操作;它屏蔽了網(wǎng)絡(luò)底層的通信細節(jié),使編程簡單;它對通信端點進行了抽象,提供發(fā)送和接收數(shù)據(jù)機制及打開、計算和關(guān)閉會話的能力。本項目中,客 戶端 和服務(wù)器代表 運行在 Windows 操作平臺下,采用 Java Socket 來編程實現(xiàn)命令和數(shù)據(jù)信息的傳輸 。 2. 通信建立 服務(wù)器與客戶端開始都必須調(diào)用 socket()函數(shù)產(chǎn)生一個 Socket 套接字 。由于讓 被監(jiān)控端 開 TCP 端口,很容易被 防火墻和殺毒軟件阻止 ,監(jiān)控就難以完成。這里,我們在主控端開 TCP 端口,等待被監(jiān)控端來 主動 連接,這樣監(jiān)控功能 就 能更順利的開始。主控端首先創(chuàng)建一個 ServerSocket對象,然后調(diào)用 ServerSocket的方法 accept 實現(xiàn)監(jiān)聽。如果被監(jiān)控端來訪問, accept 會返回一個 socket 對象,利用這個對象就可以很輕松的完成服務(wù)器和客戶端的數(shù)據(jù)交換。只有被監(jiān)控端有請求時才建立連接, 建立連接后,客戶端與服務(wù)器之間便可以雙向傳輸數(shù)據(jù)。當(dāng)?shù)玫?socket 對象后,主控端建立 ObjectInputStream 對象,被監(jiān)控端建立ObjectOutputStream 對象實現(xiàn)消息的接收和發(fā)送。完成通信后,調(diào)用ServerSocket 和 socket 對象的 close 關(guān)閉套接字,結(jié)束通信。 主控端 主要通信代碼: ServerSocket server=()。 //開啟新端口 Socket socket=null。 ()。 //設(shè)置超時 socket=()。 //開啟 ObjectInputStream readin=new ObjectInputStream(())。 //封裝流,準備讀取一個對象 ()。 //關(guān)閉 socket,結(jié)束通信 被監(jiān)控端 主要通信代碼: 第 12 頁,共 21 頁 Socket socket=new Socket(serverip, serverport)。 ObjectOutputStream send=new ObjectOutputStream(())。//封裝流 (cc)。 //發(fā)送 ()。 //關(guān)閉流 ()。 //關(guān)閉套接 命令處理模塊 命令處理模塊的實現(xiàn)就是通過函數(shù)調(diào)用,調(diào)用各個命令處理類。在命令處理模塊中,被監(jiān)控端執(zhí)行以下操作:發(fā)送自己的狀態(tài)信息 給主控端;建立圖象傳送;開啟控制命令套接字;文件上傳;文件下載;執(zhí)行 DOS 命令,獲取執(zhí)行結(jié)果和錯誤流。 連續(xù)獲得被監(jiān)控端機器屏幕變化功能實現(xiàn) 比較幾種屏幕截取方法 在 Java 遠程監(jiān)控過程中,我們要截取軟件運行 GUI 界面,并將其保存到一個或一系列圖像文件中。 目前,在 Windows 平臺下,有關(guān)屏幕截取的工具軟件有許多,比如: HyperCam等,當(dāng)然還可以直接利用 Windows 操作系統(tǒng)支持的屏幕拷貝 Print Screen 鍵,將屏幕拷貝到剪貼板,在保存為圖像文件。這些工具軟件一定要屏幕截取 者,在操作過程中要 精力集中 并且 伺機捕獲 所需要的軟件運行界面。事實上,有時候我們需要 Java 應(yīng)用程序,自動對運行的 GUI 界面進行 拍照 ,比如:一臺計算機要獲取網(wǎng)絡(luò)上另一臺計算機正在運行的 GUI 界面,要看看對方計算機上軟件運行情況。這就需要在 Java 應(yīng)用程序中,自動將運行的 GUI 界面保存到一個圖像文件中,然后通過網(wǎng)絡(luò)傳輸?shù)搅硪慌_計算機上。而上述 HyperCam 等工具軟件無法與我們的 Java 應(yīng)用融合為一體。因此,我們需要在 Java 應(yīng)用程序中編寫一個屏幕 照相機 。 Java“屏幕照相機”的編 寫原理 屏幕的截取 是比較接近操作系統(tǒng)底層的操作,在 Windows 平臺下,該操作似乎成了 VC、 VB 等語言開發(fā)的專利。事實上, 屏幕的截取 在 Java 應(yīng)用程序中,及其簡單 。 在 Java 中提供了一個 機器人 Robot 類。該類用于產(chǎn)生與本地操作系統(tǒng)有關(guān)的底層輸入、測試應(yīng)用程序運行或自動控制應(yīng)用程序運行。Robot 類提供了一個方法: .createScreenCapture( ..) ,可以直接將全屏幕或某個屏幕區(qū)域的像素拷貝到一個 BufferedImage 對象中,我們只需要將該對象寫入到一個圖像文 件之中,就完成了屏幕到圖像的拷貝過程。 Java“屏幕照相機”的實現(xiàn) 為了構(gòu)造一個比較完善的 Java 屏幕 照相機 ,我們構(gòu)造了一 個ImageProvider JavaBean,其源代碼和說 明如下: 第 13 頁,共 21 頁 /* 該 JavaBean 可以直接在其他 Java 應(yīng)用程序中調(diào)用,實現(xiàn)屏幕的 拍照 */ public class ImageProvider { private Robot robot=null。 //圖象采集類 private Rectangle rect=null。 //要復(fù)制的 屏幕區(qū)域 /* 構(gòu)造函數(shù),輸入要采集的屏幕的 矩形信息 */ public ImageProvider() throws AWTException{ rect=new Rectangle(().getScreenSize())。 //要復(fù)制的屏幕區(qū)域,這里為全屏 robot=new Robot()。 //創(chuàng)建 Robot 對象 } /* 復(fù)制全屏幕,返回 BufferedImage 對象 */ public BufferedImage CopyScreen(){ BufferedImage image=(rect)。 //截取屏幕,生成 BufferedImage 對象 return image。 } } 遠程屏幕監(jiān)控的實現(xiàn) 實現(xiàn)屏幕監(jiān)控要完成被監(jiān)控端發(fā)送屏幕截圖和主控端接收圖片的工作,該功能的實現(xiàn)中構(gòu)造了兩個類: SendImage Thread 和 GetImageThread,類圖分別為圖 8 和圖 9。 圖 8 SendImage Thread 類圖 SendImage Thread JavaBean 代碼和說明如下: /*被監(jiān)控 端將 Java 屏幕 照相機 采集到的圖片壓縮為 JPEG 文件,發(fā)送到主控端 */ public class SendImageThread extends Thread{ 。。 (部分代碼略去) public void run(){ int i=0。 OutputStream out=null。 JPEGImageEncoder encoder=null。 //壓縮為 JPEG try {out = ()。 //獲得 TCP 套接字流 encoder=(out)。//將流壓縮為 JPEG 對象流 } catch (IOException e1) { 第 14 頁,共 21 頁 ()。 } while(true){ image=()。 //截取屏幕圖象 (image) 。 //向網(wǎng)絡(luò)寫入 JPEG 圖形對象 } } 圖 9 GetImage Thread 類圖 GetImage Thread JavaBean 代碼和說明如下: /*主控端接收 JPEG 文件,并在畫布上顯示 */ public class GetImageThread extends Thread{ 。。 (部分代碼略去) public void run(){ BufferedImage image=null。 JPEGImageDecoder de=null。 InputStream in=null。 try { (1024)。 //設(shè)置接收緩沖 (60000)。 //設(shè)置 TCP 過期時間 in=()。 //獲取套接字輸入流 de=(in)。 //將輸入流封裝為 JPEG 對象流 } catch (IOException e) { // TODO Autogenerated catch block ()。 } int wrongtime=0。 while(true){ wrongtime++。 if(wrongtime=200)break。 image=()。 //對 JPEG 對象解碼,還原為 BufferedImage 圖形對象 ().ShowImage(image)。 //在控制窗口的畫布上顯示圖象 第 15 頁,共 21 頁 } } 屏幕監(jiān)視功能測試 在系統(tǒng)實現(xiàn)過程中,成功完成了連續(xù)獲得被監(jiān)控端機器屏幕變化的功能,下面為測試圖片 : 圖 10 屏 幕監(jiān)視圖片 本 節(jié) 詳細介紹了 遠程屏幕監(jiān)視 的功能實現(xiàn) 。對于功能需求中的其他功能,這里就不逐 一介紹了。對于 遠程控制 功能 ,如果 要實現(xiàn) 該功能 , 首先需要主控端向被監(jiān)控端發(fā)送遠程控制命令,被監(jiān)控端 收到命令后,首先 返回給主控端一個包含被監(jiān)控端屏幕分辨率等的狀態(tài)信息,主控端根據(jù)狀態(tài)信息更新本機所存
點擊復(fù)制文檔內(nèi)容
范文總結(jié)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1