程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Java Robot對象實現服務器屏幕遠程監視

Java Robot對象實現服務器屏幕遠程監視

編輯:關於JAVA

遠程服務屏幕的監視

  在上述代碼的基礎上,我們稍加改造,封裝成一個Servlet,便可以實現浏覽器/服務器(網站服務器培訓 郵件服務器培訓 視訊服務器培訓 )(B/S)計算結構 模式的小應用。客戶端浏覽器訪問服務器上的Servlet時候,服務器拷貝服務器屏幕,並按照contentType="Image/Jpeg"文件相應格式,將拷貝的數據按照二進制數據流的方式返回客戶端,客戶端使用浏覽器便可以查看遠程服務器的屏幕,從而實現服務器屏幕的遠程監視。

  主要代碼如下:

package li;

import Javax.imageio.ImageIO;

import Java.awt.Rectangle;

import Java.awt.Robot;

import Java.awt.Toolkit;

import Java.awt.image.BufferedImage;

import Java.awt.Dimension;

import Javax.servlet.*;

import Javax.servlet.http.*;

import Java.io.*;

import Java.util.*;

public class SnapShot

extends HttpServlet

implements SingleThreadModel {

private static final String CONTENT_TYPE = "image/jpeg";

//Initialize global variables

public void init() throws ServletException {

}

//Process the HTTP Get request

public void doGet(HttpServletRequest request, HttpServletResponse

response) throws ServletException, IOException {

//設置客戶端的文件相應類型

response.setContentType(CONTENT_TYPE);

//獲取屏幕的分辨率

Dimension d = Toolkit.getDefaultToolkit().getScreenSize();

try {

{BufferedImage screenshot = (new Robot()).createScreenCapture(new

Rectangle(0, 0, (int) d.getWidth(), (int) d.getHeight()));

String imageFormat = "jpg";

ServletOutputStream sos = response.getOutputStream();

//將圖像數據流寫入客戶端

ImageIO.write(screenshot, imageFormat, sos);

sos.close();

response.flushBuffer();

}

}

catch (Exception ex) {

}

}

//Clean up resources

public void destroy() {

}

}

運行結果如下:(以上代碼在Jbuilder10,JDevelop9 下調試成功!)

上述代碼只實現了遠程服務器屏幕的監視,如果要實現服務器"控制"也非常簡單,只要浏覽器客戶向服務器發送請求,服務器返回可客戶一包含服務器屏幕的表單,可以通過表單將客戶鼠標點擊服務器屏幕圖像的位置發送給服務器,服務器端使用Robot對象控制鼠標對象的位置與動作便可實現服務器的遠程"控制"。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved