本案例使用 Java 实现了远程控制其他电脑的关机,重启,注销,控制鼠标失效,远程打开计算器,打开浏览器及指定网站的功能。

内容大纲

什么是远程控制?

实现远程控制的思路?

什么是 UDP 和 TCP ?

发送消息工具类封装。

接收消息工具类封装。

客户端 ( 遥控端 ) 界面的代码实现。

服务端 (受控端 ) 的代码实现。

原理和概念

什么是远程控制?

远程控制技术,就是使用一台电脑来控制另外一台网络互连的电脑的技术。详细来说,就是主控电脑发送指令给受控电脑,然后受控电脑根据指令执行相应的操作。其实这个也是木马病毒实现的原理,当然,这种技术更多被使用于多媒体教学,远程设备检测,远程协助,军事领域等等。

而本文主要通过简单远程控制的实现,让大家理解远程控制的原理及网络通信的应用。并明白远程控制技术并不神秘,实现起来如此简单!

实现远程控制的思路是什么?

先来看下面图示:

Java远程控制 java远程控制代码实现_发送消息

远程控制的实现,需要在遥控端运行能够发送消息的程序。同时受控端需要运行能够接受消息的程序,用来接受程序。换句话说,遥控端要想控制其他电脑,首先需要能知道对方的 IP 和端口,并向对方的 IP 和端口发送消息。而另一方 ( 受控端 ) 则也需要提前安装并运行我们的程序,来接收发送过来的消息。并根据消息的不同,来执行不同的命令!

具体实现和分工如图:

Java远程控制 java远程控制代码实现_java远程设备监管_02

上图展示了遥控端和受控端各自的任务和作用:

遥控端主要就是发送消息,当然,为了使用方便,我们需要做一个遥控的操作界面客户端,这里我们使用 Java Swing 技术来实现。

受控端主要是接收消息,并且根据接收的消息再去执行相应的本地命令。作为接收方只需要执行命令,所以就不需要界面了。就像地下党潜入对方队伍中,不需要表明自己的身份,只需要秘密接收中央的指令并执行相应的任务就可以了。

什么是UDP 和 TCP ?

上面我们反复提到了消息的发送和接收,也就是网络通信。所以要实现上面的功能,首先也解决和实现网络通信问题。网络通信中,我们常见的有两种通信方式,也称为网络协议就是 TCP ( Transmission Control Protocol ) 和 UDP ( User Datagram Protocol ) 协议属于传输层协议。我们先来了解下两者的特点和区别。