远程监控 java_JAVA实现远程监控

【静默等候,这原是好的】——耶利米哀歌3:26  感激G

---------------------------------------------------------

附件如下:

话不多说,先给出一张截图

0818b9ca8b590ca3270a3433284dd417.png

这几天在给自己的通信项目不断的添加功能,今天 “算是” 实现了一个远程监控

感谢胡老师的帮助~

好了,先说一下

实现原理:

1.需要有被监视端和监视端两个类

2.被监视端启动一个线程 ,来截取屏幕的图片并转化为字节数组传给监视端

3.监视端启动一个线程,来接受字节数组,并转化为图片显示在窗口上

其中需要用到【ImageIO】和【Robot】这两个类

代码实例:

【被监控端】截取屏幕的图片

// 创建Robot对象

Robot robot = new Robot();

// 截取屏幕

BufferedImage bfImg = robot.createScreenCapture(new Rectangle(

100, 100, 400, 400));

【被监控端】保存图片

// 创建文件输出流对象

File file = new File("temp.jpg");

OutputStream fous = new FileOutputStream(file);

ImageIO.write(bfImg, "jpg", fous);

fous.close();

System.out.println("已完成截图");

fous.close();

【被监控端】发送信息

InputStream fins = new FileInputStream(file);

int len = fins.available();

byte[] data = new byte[len];

fins.read(data);

fins.close();

System.out.println("-----------len = "+len);

//将文件长度写入

dous.writeInt(len);

// 将字节数组写入

dous.write(data);

接下来就是监控端的工作了

【监控端】读取消息

//读取文件长度

int len = dins.readInt();

byte[] data = new byte[len];

//读取文件内容

dins.read(data);

【监控端】将图片显示在窗口上

//将读取出的信息转化为图片

ImageIcon img = new ImageIcon(Toolkit.getDefaultToolkit().createImage(data));

//将图片显示在监视者窗口上

Graphics g = cs.getGraphics();

g.drawImage(img.getImage(), 0, 0, 300, 300, null);

实现思路见另一篇博客——


版权声明:本文为weixin_39875192原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。