Java Robot对象实现服务器屏幕远程监视

<script type="text/javascript"> google_ad_client = "pub-8800625213955058"; /* 336x280, 创建于 07-11-21 */ google_ad_slot = "0989131976"; google_ad_width = 336; google_ad_height = 280; // </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script> 远程服务屏幕的监视   在上述代码的基础上,我们稍加改造,封装成一个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对象控制鼠标对象的位置与动作便可实现服务器的远程"控制"。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值