- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
利用Java实现远程控制.doc
利用Java实现远程控制
摘 要: 介绍了远程控制的原理,详细地叙述了利用Java实现远程控制软件的程序设计方法和要点,并给出了要点的具体实现方法。
关键词: 远程控制;Java;客户机/服务器
The Implement of Remote Control Software by using Java
Abstract: The principle of remote control software is introduced. The method and technique to implement remote control software by using Java are recited in detail. The implements of key points are presented.
Key words: Remote control; Java; Client/Server
我们知道有一些软件(如NetMeeting,PcAnywhere等)可以实现远程控制,通过共享桌面等形式,对远程主机做任何操作,就像控制本地的机器一样。这种控制技术在远程设备(软件)的维护、监控与故障诊断等方面有广泛的应用前景。由于Java语言具有良好的跨平台性,用Java语言编写的软件具有“一次编写,各处运行”的特点,所以,利用Java实现远程控制软件具有更广的实用性。笔者在开发一个网络型监控系统中,使用Client/Server模式,利用Java实现了远程控制软件,在Win2000/Win98/Linux和jdk1.4.1(能处理鼠标滚轮的事件) 环境下运行良好,客户机的屏幕在800×600,32位真彩色的模式下,在局域网中控制延时在1秒左右。现介绍一下设计原理和程序实现要点,以供同行们参考。
1 远程控制的原理
远程控制的原理[1]是:用户连接到网络上,通过远程访问的控制端程序发送控制端身份验证信息和与远程主机连接的要求,远程主机的被控端程序验证控制端身份,如果验证通过,就与控制端建立连接,并向控制端发送验证通过和已建立连接的信息。这时,控制端便可通过控制端程序监控或向远程主机发送要执行的指令,而被控端程序则执行这些指令,并把键盘、鼠标指令和屏幕刷新传给控制端程序,控制端程序通过处理把主机屏幕等信息显示给用户看,使得用户就像亲自在远程主机上操作一样。如果没有通过身份验证,就不与控制端建立连接,用户也就不能远程控制主机了。
远程控制软件大都使用C/S模式。使用前需要将控制端程序安装到控制端计算机上,将被控端程序安装到被控端计算机上。它的控制过程一般是先在控制端上执行控制端程序,像一个普通客户一样向被控端计算机发出信号,建立一个特殊的远程服务,然后通过这个远程服务,使用各种远程控制功能发送远程控制命令,控制被控端计算机中各种应用程序的运行。这种远程控制方式称为基于远程服务的远程控制(RemoteControloverRemoteService)。
2 用Java实现远程控制
2.1 总体设计
为了实现远程控制,被控端程序需要不断地把屏幕图象发送到控制端,并接收来自控制端的鼠标和键盘操作指令,然后按操作指令执行。控制端程序需要不断地接收被控端程序发送的屏幕图象,然后在控制端窗口中显示,并捕捉控制端的鼠标和键盘事件,然后传送到被控端。双方整个交互过程模型如图1所示。
2.2 所用到的java的包、类及方法介绍
用到的包有java.lang, java.io, java.awt, java.awt.event,java.awt.image,javax.swing, java.net和com.sun.image.codec.jpeg。重要的类有Robot(事件模拟类)、Toolkit(工具箱类)、JPEGCodec(jpeg图象编码/解码类)、UIManager(界面管理类)、Socket(套接字类)、ServerSocket(服务器套接字类)和InetAddress(Internet地址类)。
Robot类的重要方法有createScreenCapture(Rectangle screenRect)、mousePress (int?buttons)、mouseRelease (int?buttons)、mouseMove (int?x, int?y)、mouseWheel (int?wheelAmt)、keyPress (int?keycode) 和keyRelease (int?keycode) ,功能分别是捕获屏幕图象、按下鼠标键、松开鼠标键、移动鼠标键、旋转鼠标滚动轮、按下一特定键和松开一特定键。Toolkit类的重要方法有getDefaultToolkit().getScreenSize()和getDefaultT
您可能关注的文档
最近下载
- 电商孵化园运营方案.pdf VIP
- 初中物理竞赛试题精选精编第07讲物态变化(含答案与解析).docx VIP
- ISO22000-2018 食品安全管理体系 食品链中各类组织的要求(可编辑可复制).docx VIP
- 初中物理竞赛试题精选精编第10讲质量与密度(含答案与解析).docx VIP
- 乡村振兴战略下红色旅游发展路径研究——以沂蒙革命老区为例.pdf VIP
- 四川建筑职业技术学院高等数学(一)复习答案学生版.doc VIP
- 《陈士铎医学全书》.doc VIP
- led灯具的结构基础知识.pdf VIP
- Yamaha雅马哈 CS-R5 英文说明书.pdf VIP
- 中信建投-金融-证券行业深度报告:券商-金融科技标的的弹性测算及对比.pdf VIP
文档评论(0)