您好, 访客   登录/注册

局域网远程控制的实现

来源:用户上传      作者: 刘旭

  摘 要:实现局域网远程控制的最常用方法是使用远程控制软件。服务器端程序(Server)和客户端程序(Client)是远程控制软件的主要构成部分,由客户端将信号发送到服务器端来实现对被控制端电脑的远程控制,而利用java语言编写的控制软件具有广泛的实用性,因此本文针对基于java语言的控制软件实 现局域网远程控制进行研究和探讨。
  关键词:远程控制;PcAnywhere;VNC;java;客户机;服务器
  中图分类号:TP393.1 文献标识码:A 文章编号:1672-3791(2011)02(c)-0000-00
  
  通过一些软件(如PcAnywhere,VNC等)可以实现远程控制功能,通过共享桌面对远程主机做一些想执行的操作,如同控制本地的计算机一样。通过远程控制的技术可以轻松对远程电脑进行维护、监控与排除故障,这种技术具有很好的应用和开发前景。跨平台性是java语言的显著特点,因此通过Java语言来编写的远程控制软件实用性更加广泛。本文中,将介绍远程控制的原理、实现局域网远程控制的常用方法以及如何利用Java实现局域网远程控制。
  1 远程控制的原理
  远程控制的原理是:首先控制端和被控制端均连接到网络,远程被控制端接收控制端发送过来的身份验证以及连接请求,倘若能够通过验证,便可以实现连接,同时将验证通过和已建立连接的信息发送到控制端。控制端就可以通过控制端程序或者将要执行的指令发送到远程主机,而被控端则执行指令,把鼠标、键盘、刷新屏幕发送到控制端程序,经过控制端处理后把信息显示给用户看,这样,用户对远程主机的操作就像在本地计算机上操作一样。通过验证以后,两地计算机才能连接在一起,并最终实现远程控制。
  远程控制软件常用的模式的C/S模式。在使用控制软件前,先将控制端程序安装在控制端主机上,把被控制端程序安装到被控端主机上。这个控制过程是:首先在控制端执行控制端程序,建立远程服务,然后借助远程服务,发送远程控制命令,控制被控端主机,通过远程控制轻松操作远程主机上的所有应用程序,这种远程控制方式是基于远程服务的。
  2 局域网远程控制的常用方法
  局域网远程控制可谓方法众多,除了系统自带远程控制功能外,市场上有很多利用java编写的远程控制软件,通过他们可以轻松控制局域网内的任何一台电脑。局域网远程控制的实现主要有如下方法:
  2.1 系统自带功能实现远程控制
  Windows XP系统自身具备远程控制的功能,称为“远程协助”,操作十分简单。用户通过远程协助功能可实现远程控制,具体做法是通过MSN Messenger发送协助请求,Messenger中的联系人在接到请求后,倘若联系人同意请求,用户与联系人便可以建立连接,实现远程协助,在此过程中,联系人所使用的计算机完全由用户控制,通过远程协助功能实现远程控制,用户可对受控端计算机进行任何操作。
  2.2 PcAnywhere
  通过PcAnywhere工具实现局域网的远程控制,这款不错的工具可使两地计算机建立连接,并协同工作。PcAnywhere的使用方法十分简单,在控制端与被控制端计算机上分别安装好该软件,便可轻松实现远程控制。
  2.3 VNC
  VNC (Virtual Network Computing)是虚拟网络计算机的缩写,由AT&T的欧洲研究实验室开发而成的远程控制软件,至今仍被广泛使用,高效使用是其最大的特点,具有较强的远程控制能力,主要基于Linux和UNIX操作系统,它的实用性超过了任何一款基于MAC和Windows的远程控制软件。
  3通过Java实现局域网远程控制
  通过PcAnywhere和VNC软件都可以很容易的实现局域网远程控制,这两款软件都是利用Java编写的。JAVA语言具有良好的跨平台性,用其编写的软件也是具有“一次编写,各处运行”的特点。因此,利用Java 实现远程控制有很广的实用性。
  3.1 总体设计
  远程控制的交互过程是:首先,屏幕图像由被控制端程序发送到控制端,控制端向被控制端发送键盘和鼠标操作指令,然后在被控制端执行操作命令。被控制端发送出来的屏幕图像,控制端程序需要不断的接收,然后在控制端中显示出来,捕捉到控制端的键盘和鼠标时间,发送到被控制端。双方整个交互过程的模型(图3.1)
  3.2程序设计实现要点
  利用Java实现局域网远程控制,在进行程序设计时需要注意的要点有:鼠标和键盘事件的获取及操作模拟、屏幕图象的压缩/解压缩、屏幕图象及指令的传输等。
  3.3 Java Robot对象实现远程服务器的控制
  (1)实现原理
  首先,通过Robot截取被控端桌面图像,并利用socket通信发送到控制端。
  其次,主控端显示被控端桌面,并且把基于被控端图像上的键盘,鼠标事件通过socket通信传给被控端。
  最后,被控端响应主控端的鼠标键盘事件。
  (2)实现过程
  主控端和被控端通过UDP控端向主控端传递图像、图像显示,鼠标,键盘监听、被控端接收,响应键盘鼠标事件等通过编写java代码来实现。
  在实现过程中,需要频繁地、不间断地获取、压缩和传输被控制端屏幕图像以及在控制端接收、解压缩和显示屏幕图像,因此,可以通过多线程技术来分别进行处理。这里就不做详解了。
  4结束语
  通过这次对局域网远程控制实现过程的研究,深入阐明了远程控制的原理,通过控制软件实现局域网远程控制的过程,以及利用java实现局域网远程控制。与其他语言编写的控制软件相比,用java语言编写的控制软件具有“一次编写,各处运行”的特点,因此具有更广的使用性。这次研究也存在不足之处,对利用java实现局域网远程控制过程论述不够全面,以后还有待进一步研究。
  
  
  参考文献:
  [1]常永昌.一种远程控制软件的设计与实现[J].计算机应用.2003,23(3):127-128,131.
  [2]张国华.网友电脑远程控制[J].网友世界合订本.2004,24(12):277-282.
  [3]曾刚,黄永友.前沿网络应用[M].北京:希望电子出版社.2003,187-192.
  [4]张栋,周进,黄成.Linux服务器配置与管理[M].北京:人民邮电出版社.2009,313-321.
  [5]李晨熙,鲁铁华.java语言入门[M].北京:中国电力出版社.2001,3-4.
  


转载注明来源:https://www.xzbu.com/8/view-1630460.htm