苏州北大青鸟|电脑人才培训中心『官方网站』

高中生毕业了做什么?高中生学什么好 苏州北大青鸟、苏州北大青鸟学费、苏州北大青鸟地址
ACCP7.0培训-入手最快 JAVA培训—收入最高 .NET培训—就业面最宽 网络营销培训—需求量最大
高中毕业学什么好 大学生找不到工作怎么办 学什么技术有前途(好转行) 初中(中专)毕业学什么好
当前位置: 主页 > 青鸟百科 >

JAVA远程计算机监控软件的设计及实现

时间:2012-05-11 17:45来源: 作者: 点击:
远程计算机监控软件的设计及实现4.1.1消息输入,命令处理结果显示模块
主控端消息输入,显示模块的开发采用JAVA图形编程,利用模块化、通用性强的特点,实现远程监控中用户控制界面的编写。
4.1.2通信模块实现
1.Socket编程
数据通信模块中的数据通道建立采用Socket编程。Socket支持TCP/IP协议网络通信的基本操作;它屏蔽了网络底层的通信细节,使编程简单;它对通信端点进行了抽象,提供发送和接收数据机制及打开、计算和关闭会话的能力。本项目中,客户端和服务器代表运行在Windows操作平台下,采用Java Socket来编程实现命令和数据信息的传输。
2.通信建立
服务器与客户端开始都必须调用socket()函数产生一个Socket套接字。由于让被监控端开TCP端口,很容易被防火墙和杀毒软件阻止,监控就难以完成。这里,我们在主控端开TCP端口,等待被监控端来主动连接,这样监控功能就能更顺利的开始。主控端首先创建一个ServerSocket对象,然后调用ServerSocket的方法accept实现监听。如果被监控端来访问,accept会返回一个socket对象,利用这个对象就可以很轻松的完成服务器和客户端的数据交换。只有被监控端有请求时才建立连接,建立连接后,客户端与服务器之间便可以双向传输数据。当得到socket对象后,主控端建立ObjectInputStream对象,被监控端建立ObjectOutputStream对象实现消息的接收和发送。完成通信后,调用ServerSocket和socket对象的close关闭套接字,结束通信。
主控端主要通信代码:
ServerSocket server=NewRadomSocket.openNewPort(); //开启新端口
Socket socket=null;
server.setSoTimeout(Parameter.TCP_TIME_OUT); //设置超时
socket=server.accept(); //开启
ObjectInputStream readin=new ObjectInputStream(socket.getInputStream()); //封装流,准备读取一个对象
socket.close(); //关闭socket,结束通信
 
被监控端主要通信代码:
Socket socket=new Socket(serverip, serverport);
ObjectOutputStream send=new ObjectOutputStream(socket.getOutputStream());//封装流
send.writeObject(cc); //发送
send.close(); //关闭流
socket.close(); //关闭套接
4.1.3命令处理模块
命令处理模块的实现就是通过函数调用,调用各个命令处理类。在命令处理模块中,被监控端执行以下操作:发送自己的状态信息给主控端;建立图象传送;开启控制命令套接字;文件上传;文件下载;执行DOS命令,获取执行结果和错误流。
 
4.2 连续获得被监控端机器屏幕变化功能实现
4.2.1比较几种屏幕截取方法
Java远程监控过程中,我们要截取软件运行GUI界面,并将其保存到一个或一系列图像文件中。
目前,在Windows平台下,有关屏幕截取的工具软件有许多,比如:HyperCam等,当然还可以直接利用Windows操作系统支持的屏幕拷贝Print Screen键,将屏幕拷贝到剪贴板,在保存为图像文件。这些工具软件一定要屏幕截取者,在操作过程中要"精力集中"并且"伺机捕获"所需要的软件运行界面。事实上,有时候我们需要Java应用程序,自动对运行的GUI界面进行"拍照",比如:一台计算机要获取网络上另一台计算机正在运行的GUI界面,要看看对方计算机上软件运行情况。这就需要在Java应用程序中,自动将运行的GUI界面保存到一个图像文件中,然后通过网络传输到另一台计算机上。而上述HyperCam等工具软件无法与我们的Java应用融合为一体。因此,我们需要在Java应用程序中编写一个屏幕"照相机"。
4.2.2 Java“屏幕照相机”的编写原理

"屏幕的截取"是比较接近操作系统底层的操作,在Windows平台下,该操作似乎成了VC、VB等语言开发的专利。事实上,"屏幕的截取"在Java应用程序中,及其简单。在Java JDK1.5.0 中提供了一个"机器人"Robot类。该类用于产生与本地操作系统有关的底层输入、测试应用程序运行或自动控制应用程序运行。Robot类提供了一个方法:.createScreenCapture(..),可以直接将全屏幕或某个屏幕区域的像素拷贝到一个BufferedImage对象中,我们只需要将该对象写入到一个图像文件之中,就完成了屏幕到图像的拷贝过程。


标签:

(原文标题:JAVA远程计算机监控软件的设计及实现

(责任编辑:苏州北大青鸟



相关新闻

  • E-learning云计算机市场份额逐渐扩大
  • 基于WEB的成本管理系统的设计
  • 基于WEB的学生成绩管理系统的设计及
  • 基于WEB的汽车信息网站的设计
  • 基于WEB的信息信息发布系统的设计及
  • 基于WEB的JSP实验室管理系统的设计
  • 基于WEB的企业人事管理系统的设计
  • 基于JSP的商场进销存管理系统的设计
  • 基于JSP的网络交易市场物业管理系统
  • 基于WEB的毕业设计选题系统的设计及
    更多
    分享按钮
    ------分隔线----------------------------
    招生专题