在公司,无聊之际,看到网上关于Robot()类的使用,随想自己实现一个简单的监控系统。这个监控系统没有实现远程的控制操作,只是简单的客户端可以看到远程看到服务器的桌面。另外我在机房局域网测试的时候,发现客户端发现服务器的改变需要5-10秒的时间。不知原因为何?
java 代码
-
-
-
- import java.awt.*;
- import javax.swing.*;
- import java.awt.event.*;
- import java.util.*;
- import java.util.Timer;
- import java.io.IOException;
- import java.net.*;
- public class Client extends JFrame
- {
- private java.net.Socket cs;
- private MyPanel mypanel;
- public Client()
- {
- mypanel=new MyPanel();
- this.getContentPane().add(mypanel);
-
- this.clock.start();
- this.setDefaultCloseOperation(this.EXIT_ON_CLOSE);
- }
- public static void main(String[] args)
- {
- Client client = new Client();
- client.setSize(800, 800);
- client.setVisible(true);
-
- }
- private javax.swing.Timer clock=new javax.swing.Timer(1000,new ActionListener() {
- public void actionPerformed(ActionEvent e)
- {
- try
- {
- cs=new java.net.Socket("192.168.0.3", 12000);
- Image image=javax.imageio.ImageIO.read(cs.getInputStream());
- mypanel.setImage(image);
- mypanel.repaint();
- cs.close();
- } catch (UnknownHostException e2)
- {
-
- e2.printStackTrace();
- } catch (IOException e2)
- {
-
- e2.printStackTrace();
- }
-
-
- }
-
- });
- public void drawImage()
- {
-
- }
- }
- class MyPanel extends JPanel
- {
- private Image image;
- public MyPanel(Image image)
- {
- this.image=image;
- }
- public void setImage(Image image)
- {
- this.image=image;
- }
- public MyPanel()
- {
-
- }
- public void paintComponent(Graphics g)
- {
- g.drawImage(image, 0, 0, null);
- }
- }
-
-
-
-
-
-
- import java.io.IOException;
- import java.net.ServerSocket;
- import java.net.Socket;
- public class Server
- {
- private final static int PORT = 12000;
- public static void main(String[] args)
- {
- try
- {
- ServerSocket server = new ServerSocket(PORT);
- Socket connection = null;
- while (true)
- {
- try
- {
- new ShotThread(server).start();
- } finally
- {
- try
- {
- if (connection != null)
- connection.close();
- } catch (IOException e)
- {
- }
- }
- }
- } catch (IOException ee)
- {
- System.err.println(ee);
- }
- }
- }
-
-
-
-
- class ShotThread extends Thread
- {
- ServerSocket server;
- public ShotThread(ServerSocket server)
- {
- try
- {
- this.connection = server.accept();
- } catch (IOException e)
- {
- e.printStackTrace();
- }
- }
- public void run()
- {
- System.out.println("得到连接:");
-
-
-
-
-
-
-
-
- java.awt.image.BufferedImage image = (new ShotImage()).snapShot();
- if (image == null)
- try
- {
- throw new IOException();
- } catch (IOException e1)
- {
-
- e1.printStackTrace();
- }
- try
- {
-
- javax.imageio.ImageIO.write(image, "jpg", connection
- .getOutputStream());
- connection.close();
- } catch (IOException e)
- {
- e.printStackTrace();
-
- }
- }
- Socket connection = null;
- }
-
-
-
-
-
-
-
- import java.awt.Dimension;
- import java.awt.Rectangle;
- import java.awt.Robot;
- import java.awt.Toolkit;
- import java.awt.image.BufferedImage;
- public class ShotImage
- {
- private Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize();
- private String imageFormat = "jpg";
- private int Num = 0;
- BufferedImage screenshot;
- public synchronized BufferedImage snapShot()
- {
- try
- {
- screenshot = (new Robot()).createScreenCapture(new Rectangle(0, 0,
- (int) dimension.getWidth(), (int) dimension.getHeight()));
- } catch (Exception ex)
- {
- System.out.println(ex);
- }
- return screenshot;
- }
- }
分享到:
相关推荐
基于Java CS远程监控系统软件的设计与实现项目是一款基于Java语言开发的远程监控软件,主要应用Java Socket和Java AWT等技术,实现对远程设备的实时监控和控制。该系统可为企业、学校、政府等单位提供便捷和安全的...
基于JAVA CS远程监控系统软件的实现(源代码+WORD论文文档论文) 基于JAVA C/S远程监控系统软件的实现 摘 要 近年来,网络技术的不断发展,为远程监控技术的发展创造了条件。远程监控系统软件越来越受到人们的重视,...
int choice = JOptionPane.showConfirmDialog(null, "请求控制对方电脑", "远程控制系统-Charles", JOptionPane.YES_NO_OPTION); if (choice == JOptionPane.NO_OPTION) { return; } String input =...
基于JAVA实时监控远程控制系统设计和实现.docx基于JAVA实时监控远程控制系统设计和实现.docx基于JAVA实时监控远程控制系统设计和实现.docx基于JAVA实时监控远程控制系统设计和实现.docx基于JAVA实时监控远程控制系统...
基于Java的CS远程监控系统软件是一种用于监控和管理...通过以上设计与实现,基于Java的CS远程监控系统软件能够帮助管理员实现对大量计算机设备的实时监控和远程管理,提高管理效率和响应速度,保障系统安全和稳定运行。
基于JAVA的CS远程监控系统软件可以实现对远程计算机的监控和控制,其主要功能包括: 远程监控:通过该软件,可以实时监控远程计算机的屏幕、键盘和鼠标操作等。 远程控制:通过该软件,可以对远程计算机进行远程...
简介屏幕监控的实现原理,文档中有部分核心算法伪代码
java实现简单的远程控制,附源码。 主要应用socket robot image swing
基于JAVA C/S远程监控系统软件突破了空间的限制,使用者不用亲临,在自己的电脑面前就能轻松的实现对被监控端机器的监控。本系统采用Java网络编程和Java图形编程实现。笔者在开发过程中将网络技术与远程监控理论基础...
有源码 , 著名的 java 远程监控程序JSN,结合了N种设计模式,功能强大,功能特点:隐蔽运行,桌面图像监控,鼠标键盘控制,文件上传,下载,远程重启,关机。邮件通知,WEB监控,等等,附有详细的使用教程。 程序易...
文献综述 计算机科学与技术 基于 java 的远程监控系统的设计与实现 一、前言 近年来,随着计算机及网络的应用普及,千千万万的人们在娱乐、通讯、学习、工作等 各方面都实现了前所未有的信息化,极大地提高了生活...
基于JAVA网络远程监控系统软件的实现(源码),可直接导入eclipse,服务器,客户端均可用。可上传、下载文件,类单独封装,代码注释详细,可同时连接多个。
通过远程监控软件,我们可以进行很多方面的远程控制,包括获取目标电脑屏幕图像、窗口及进程列表;记录并提取远端键盘事件(击键序列,即监视远端键盘输入的内容);可以打开、关闭目标电脑的任意目录并实现资源共享;...
基于JAVA C/S远程监控系统软件突破了空间的限制,使用者不用亲临,在自己的电脑面前就能轻松的实现对被监控端机器的监控。本系统采用Java网络编程和Java图形编程实现。笔者在开发过程中将网络技术与远程监控理论基础...
该系统对远程主机的监控主要包括:实时监视桌面状态、修改系统配置文件、控制鼠标、键盘的基本操作。本系统采用Java语言实现,开发工具采用NetBeansIDE6.7开发。 本文介绍了局域网中远程桌面监控系统的分析、设计和...
要实现Java远程监控 系统, 主要是通过以下几个功能设计实现。 Socket 1.Socket,ServerSocket Socket位于java.net.包中,是网络通信重要的类,Socket中文称它为套接 字,ServerSocket 构造一对通信套接字方法如下 ...
本毕设旨在实现一款基于JAVA CS架构的远程监控系统软件。该软件将具备以下功能: 1. 实现远程主机的监控和控制:用户可以通过该软件远程监控和控制目标主机的状态和操作。 2. 实现实时屏幕监控和录制:用户可以实时...