049_简单远程控制系统(被控端)
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
密 惠 保
3简单远程控制系统总体结构
3.1 系统规格说明
3.1.1 简单远程控制系统的概貌
“简单远程控制系统的设计与实现”主要包含两个部分:主控端和被控端。主控端是运行在用户计算机上的一个程序,该端主要实现对被控端的控制,以实现对被控计算机关机、注销、重起以及向被控端发送消息等功能。
被控端是运行在目标计算机(被控计算机)上的一个程序,以提供该计算机的各种信息,以及实现主控端对其执行的各种操作。 【买计算机毕业论文就到计算机毕业论文网】 本文来自think58 [来源:http://think58.com]
3.1.2 各模块功能要求
本系统在功能要求上主要实现的功能有:主控端获取被控端计算机系统信息、对被控端界面的控制、对被控端的系统控制以及对向被控端发送消息。
1.主控端获取被控端系统信息。此模块的主要功能是主控端能通过此功能了解到被控计算机上的系统信息,为后面进一步的对被控端进行控制作一个简单的了解,也同时通过此功能对被控计算机上所安装的软、硬件进行了解,做到对被控计算机的了解程度跟了解本机一样。
2.对被控端的界面控制。此模块主要实现主控端对被控计算机的用户界面的控制,包括对开始按钮的隐藏以及显示、任务栏的隐藏以及显示和桌面图标的隐藏和显示功能。
3.对被控端的系统控制。此模块主要实现对被控计算机的机器系统的控制,包括对被控计算机实施关闭计算机、重新启动被控端计算机以及注销被控端计算机目前使用的用户功能。做到使主控端用户在主控计算机上就能很容易的控制被控计算机的系统。
4.向被控端发送信息。此模块主要实现主控计算机向被控计算机发送文字性消息的功能,有了此功能模块的建立,主控端用户可以在本机上向被控端用户传递信息和发送消息,做到了主控端的用户与被控端用户的联系。 [资料来源:THINK58.com]
3.1.3 性能要求
主控端界面应当简单、友好、方便使用和操作;被控端是用作运行在被控计算机内的可执行文件,为提高执行速度,从客户端发送到服务端的信息应尽量的少。主控端与被控端之间通过使用TCP协议建立连接,以实现对被控计算机的控制。
内容来自think58 [版权所有:http://think58.com]
[来源:http://think58.com]3.1.4 运行要求
设计出的简单远程控制软件应当在现在使用的大量操作系统上都能运行。例如:Windows 2000、Windows XP、Windows 2003;能在较低的硬件配置上运行,如128M的内存,AMD 1800+的处理器。
3.2 数据要求
简单远程控制系统的结构中,主控端是相当于一个系统的前台,为用户提供了一个操作界面,而几乎所有的操作都是在被控端这个后台处理程序运行的,被控端界面提供的操作可分为连接、动作、和信息三个模块。连接模块是在被控端运行的,动作模块作为远程控制系统的核心,是在主控端运行实现的。
3.3 用户系统描述
首先设置主控计算机为主控端,主控端显示为监听状态,被控端通过输入主控计算机的IP地址点击连接主控端。被控端连接成功后,主控端显示为连接状态,主控端便可以对被控计算机实现各种操作。每次操作成功后都会在主控端计算机上显示相应的提示信息。
4 简单远程控制系统的功能模块的设计
4.1 简单远程控制系统的主体设计
被控端窗口设计为输入主控计算机IP地址,连接主控端计算机的窗口,连接成功后自动进入托盘中,使被控计算机桌面很洁净,也体现出一些隐藏性。
主控端窗口设计为对被控端的各种控制按钮的界面,当被控端与主控端连接成功后在被控端显示连接成功对话框,提示用户连接成功后,用户通过点击界面上的按钮便很容易的实现对被控计算机的各种控制。其体统结构图如图1所示: think58 [来源:http://www.think58.com]
图 1 简单远程控制系统结构图
4.2 简单远程控制系统的系统功能的实现
简单远程控制通信系统的各类控制指令数据传输采用的是因特网通道,控制质量数据传输是基于因特网远程控制系统的关键。我们主要以TCP/IP协议上的通信为基础,使用C/S模型来解决控制数据的通信问题。我们在通信系统上的设计是采用WINSOCK,我们按客户/服务器模型来设计基于因特网的远程控制指令数据通信技术。WINSOCK通信系统采用的控制模式有两种方式,一个是多对一,即多个客户可以同时向服务器请求服务,而服务器也能够同时对这些请求给予相信处理。服务器负责控制控制质量的接受和处理。而客户则是控制指令数据的发送和状态数据的接受和显示,另一个一对多,既一个客户可以同时向多个服务器发送请求服务,而服务器也能够对这些请求给予相信处理。服务器负责控制控制指令的接受和处理,而客户则是控制指令的发送和状态数据的接受和显示。主控端与被控端的连接的系统结构图如图2所示:
图2 功能结构层次图
5 简单远程控制系统功能模块的编程及实现
以上介绍了远程控制软件编写的一些理论基础,下面介绍一下我们编写的一款远程控制软件所实现的功能,并对其所编程原理进行了剖析。这款软件同大多数远程控制软件一样有两部分组成:包含server.exe和client.exe两个程序,server.exe是服务程序,是安装在与你联网的电脑里(就是被维护或者被控制的电脑),如果要进行控制,就必须在对方的电脑里运行server.exe;client.exe是客户端程序,安装在你自己的电脑里,如果要对对方电脑进行控制]时,就启动客户程序,并可以通过client.exe程序界面的彩旦控制装有server.exe程序的电脑(就是被维护或者被控制的电脑)。 copyright think58
[版权所有:http://think58.com]
5.1 简单远程控制的连接功能实现
本设计的所有功能的实现都是建立在主控端与被控端之间连接的基础上的。主控端与被控端的连接是通过使用WINSOCK控件基于TCP/IP协议进行通信的。
首先,主控端程序必须设置好LocalPort属性,作为监听端口,这个值为一个整数,只要是一个其他TCP/IP应用程序没有使用过的值即可,本设计中主控端使用的是1007。然后使用Listen方法进入监听状态,等待被控端的连接请求。被控端程序发出连接请求,使主控端程序产生ConnectionRequest事件,该时间得到一个参数requestID,主控端程序用Accept方法接受被控端程序的requestID请求。这样,主控端程序就可以用SendData方法发送数据了。Accept方法必须用上一步得到的requestID作为其参数。当主控端程序接收到数据时,产生DataArrival事件,参数BytesTotal包含接收到的数据字节数。在该事件中可以使用GetData方法接收数据。如果接受到Close事件,则用Close方法关闭TCP/IP连接。
其次,被控端程序设置Remotehost属性,指定运行主控端程序的主机名,设置RemotePort 属性,指定主控端程序的监听端口,使用Connect方法,向主控端提出连接请求。主控端接受被控端的请求,被控端程序产生Connect事件,就可以用SendData方法发送数据了。当被控端程序接收到数据时,产生DataArrival事件,参数BytesTotal包含接收到的数据字节数。该事件中,可以用GetData方法接收数据,如果接收到Close事件,则用Close方法关闭连接。 内容来自think58 [资料来源:www.THINK58.com]
有了这些设置和代码的编写后,主控端程序与被控端程序就能连接了。首先在被控端Click事件过程中写入代码:
Private Sub Command1_Click()
If txtip.Text = "" Then
MsgBox "请输入IP,后连接", vbInformation, "提示"
Exit Sub
Else
Command1.Enabled = False
sckclient.RemoteHost = txtip.Text
sckclient.LocalPort = 1008
sckclient.RemotePort = 1007
sckclient.Connect
End If
End Sub
把主控端与被控端连接所使用的代码写入Connect事件里:
Private Sub scksever_ConnectionRequest(ByVal requestID As Long)
If scksever.State <> 0 Then scksever.Close
scksever.Accept requestID '
End Sub
这样在主控端与被控端运行并成功建立连接后,用户通过点击主控端界面上的各种按钮就能驱动相应的事件函数,向被控计算机发送命令代码。
运行在主控端计算机上的客户端先创建一个套接字,绑定之后便处于监听状态,等待服务端的连接请求。目标计算机上线后,同样创建套接字,然后向客户端发起连接请求,两端建立好连接后,客户端便可以向服务端发送请求数据,即命令,服务端收到命令后将执行相应的操作并向客户端发送相应的回应信息。这样客户端就达到控制目标计算机的目的了。
[资料来源:THINK58.com]