摘 要 目前,随着计算机网络的广泛应用,网络速度越来越快,使用远程控制技术,可以对远程计算机进行操作,就像控制本地计算机一样。这种技术在远程设备(软件)的维护、监控与故障诊断等方面有着广泛的应用前景。远程技术支持将占据技术支持的主流:远程教学和培训也将快速发展。企业规模将迅速扩大,所有这些发展都为远程控制软件提供了一个广阔的天地。 简单远程控制系统由主控端和被控端两部分组成。主控端用于实施各种对连网计算机的监控操作,被控端对于接收到的数据进行分析,解释并执行。系统主要可以实现获取被控端信息、被控端系统控制、消息发送和被控端界面控制的监控功能。作者的主要工作是主控端的设计与实现及整个获取被控端信息模块的设计与实现。 本文对远程控制系统原理和主要相关技术作了简单介绍,在进行的需求分析之后,详细描述了本系统的主控端的设计与实现及被控端的获取被控端信息模块的设计与实现,最后表格形式给出测试结果。 关键词:远程控制;C/S模式;套接字 Simple Remote Control System -- The Design of Controlling Terminal and Parts of Controlled Terminal Abstract At present, along with the development of the network technology, the speed of the network is faster and faster. Using the technology of remote control, the remote computer can be controlled as conveniently as the local one. The technology of remote control can be very useful in the maintenance, monitoring and malfunction diagnosis of remote computers. Remote control technique will be a tide of technique support; distance education and train will also be developing in a high speed. The scope of enterprises will extend at a very fast speed in the same way. These all development provides a wide space for remote control software. The simple remote control system consists of two parts including controlling terminal and controlled terminal. We can monitor the controlled terminal and implement some operation about controlling the controlled terminal on the controlling monitor. The controlled terminal is used for analyzing, explaining and implement the received data. The system can implement the function of getting the information of controlled terminal, control controlled terminal, sending messages, controlling the screen of the controlled computer and so on. My job is the design and implementation of the controlling terminal and the function of getting the information of controlled terminal. The paper simply introduces the theory of remote control and the main correlative technology. After the analysis, it describes the design and implement of the controlling terminal and the function of getting the information of controlled terminal. At last, it shows the result in form of figures.
Key words: Remote control; Client/Server mode; socket
远程控制概述 远程控制是在网络上由一台电脑(主控端Remote/客户端)远距离去控制另一台电脑(被控端Host/服务器端)的技术,这里的远程不是字面意思的远距离,一般指通过网络控制远端电脑,不过,大多数时候我们所说的远程控制往往指在局域网中的远程控制而言。当操作者使用主控电脑所控制被控电脑时,就如同坐在被控电脑的屏幕前一样,可以启动被控电脑的应用程序,可以使用被控电脑的文件资料,甚至可以利用被控电脑的外部打印设备(打印机)和通信设备(调制解调器或者专线等)来进行打印和访问互联网,就像你利用遥控器遥控电视的音量、变换频道或者开关电视机一样。不过,有一个概念需要明确,那就是主控电脑只是将键盘和鼠标的指令传送给远程电脑,同时将被控电脑的屏幕画面通过通信线路回传过来。也就是说,我们控制被控电脑进行操作似乎是在眼前的电脑上进行的,实质是在远程电脑中实现的,不论打开文件,还是上网浏览、下载等都是存储在远程的被控电脑中的。
远程控制软件的原理 远程控制软件一般分两个部分:一部分是客户端程序Client,另一部分是服务器端程序Server(或Systry),在使用前需要将客户端程序安装到主控电脑上,将服务器端程序安装到被控电脑上。它的控制的过程一般是先在主控电脑上执行客户端程序,像一个普通的客户一样向被控电脑中的服务器端程序发出信号,建立一个特殊的远程服务,然后通过这个远程服务,使用各种远程控制功能发送远程控制命令,控制被控电脑中的各种应用程序运行,我们称这种远程控制方式为基于远程服务的远程控制。通过远程控制软件,我们可以进行很多方面的远程控制,包括获取目标电脑屏幕图像、窗口及进程列表;记录并提取远端键盘事件(击键序列,即监视远端键盘输入的内容);可以打开、关闭目标电脑的任意目录并实现资源共享;提取拨号网络及普通程序的密码;激活、中止远端程序进程;管理远端电脑的文件和文件夹;关闭或者重新启动远端电脑中的操作系统;修改Windows注册表;通过远端电脑上、下载文件和捕获音频、视频信号等。
远程控制技术的应用 1、远程办公 这种远程的办公方式不仅大大缓解了城市交通状况,减少了环境污染,还免去了人们上下班路上奔波的辛劳,更可以提高企业员工的工作效率和工作兴趣。 2、远程技术支持 通常,远距离的技术支持必须依赖技术人员和用户之间的电话交流来进行,这种交流既耗时又容易出错。许多用户对电脑了解得很少,然而当遇到问题时,他们必须向无法看到电脑屏幕的技术人员描述问题的症状,并且严格遵守技术人员的指示精确地描述屏幕上的内容,但是由于他们的电脑专业知识非常少,描述往往不得要领,这就给技术人员判断故障制造了非常大的障碍。即使技术人员明白了用户电脑的问题所在,在尝试解决问题时,技术人员可能会指导用户执行一系列复杂的命令,而这个过程对用户来说是十分困难的,因为技术人员要依靠自己的语言来“操纵”用户的鼠标和键盘简直是太难了,如果用户不能正确地遵照指示去做,问题可能会进一步恶化,电脑很可能会因为错误的操作导致系统的崩溃。这样一来,往往是技术人员要为十分简单的一个问题和用户说上十几分钟,甚至会专程跑到很远的用户那里帮助解决问题,而用户往往因为问题还没有解决,只好将电脑闲置不用,单等技术人员上门来解决问题。有了远程控制技术,技术人员就可以远程控制用户的电脑,就像直接操作本地电脑一样,只需要用户的简单帮助就可以得到该机器存在的问题的第一手材料,很快就可以找到问题的所在,并加以解决。 3、远程交流 利用远程技术,商业公司可以实现和用户的远程交流,采用交互式的教学模式,通过实际操作来培训用户,使用户从技术支持专业人员那里学习示例知识变得十分容易。而教师和学生之间也可以利用这种远程控制技术实现教学问题的交流,学生可以不用见到老师,就得到老师手把手的辅导和讲授。学生还可以直接在电脑中进行习题的演算和求解,在此过程中,教师能够轻松看到学生的解题思路和步骤,并加以实时的指导。 4、远程维护和管理 网络管理员或者普通用户可以通过远程控制技术为远端的电脑安装和配置软件、下载并安装软件修补程序、配置应用程序和进行系统软件设置。
系统概貌 简单远程控制系统包含被控端和主控端两部分。 被控端是运行在受控计算机上的一个程序。当运行主控端程序后将其设置成功,被控端通过输入主控端的IP地址,并利用winsock控件来实现被控端与主控端的连接,然后通过主控端向被控端发送命令,被控端响应主控端的命令来实现相应的功能。 主控端提供了一个集控制功能为一体的可视化界面,其作用是发送命令来实现对被控端的控制,该窗体包含了具有不同功能的按钮,如:消息发送按钮、隐藏任务栏按钮、关闭计算机按钮等。通过对这些按钮的相应操作,来实现对被控端的控制。
功能要求 本系统在功能要求上主要实现的功能有:主控端获取被控端计算机系统信息、对被控端界面的控制、对被控端的系统控制以及对向被控端发送消息。 1.主控端获取被控端系统信息。此模块的主要功能是主控端能通过此功能了解到被控计算机上的系统信息,为后面进一步的对被控端进行控制作一个简单的了解,也同时通过此功能对被控计算机上所安装的软、硬件进行了解,做到对被控计算机的了解程度跟了解本机一样。 2.对被控端的界面控制。此模块主要实现主控端对被控计算机的用户界面的控制,包括对开始按钮的隐藏以及显示、任务栏的隐藏以及显示和桌面图标的隐藏和显示功能。 3.对被控端的系统控制。此模块主要实现对被控计算机的机器系统的控制,包括对被控计算机实施关闭计算机、重新启动被控端计算机以及注销被控端计算机目前使用的用户功能。做到使主控端用户在主控计算机上就能很容易的控制被控计算机的系统。 4.向被控端发送信息。此模块主要实现主控计算机向被控计算机发送文字性消息的功能,有了此功能模块的建立,主控端用户可以在本机上向被控端用户传递信息和发送消息,做到了主控端的用户与被控端用户的联系。
主控端设计思路 主控端主要是发送各种控制命令给被控端,控制被控端实现各种控制功能。当程序运行时首先要进行主控端的设置,本系统采用了人性化的设计,调用了Winsock控件,所以用户不需要自己来设置端口,只要鼠标点击“设置主控端”按钮就可以完成主控端的设置。设置成功后,系统提示设置成功,进入监听状态, 等待被控端发送连接请求,接收到连接请求后建立连接。主控端便可以实现对被控端的控制和消息的发送了。 主控端分为两大部分如图1所示。第一个部分是操作部分,主要分为系统设置、被控端信息、系统控制、发送消息和界面控制五部分。第二部分是信息栏显示,当主控端程序运行时会显示主机的IP地址和主机名,而当连接建立后,信息栏会显示被控端的IP地址。
性能要求 主控端界面应当简单、友好、方便使用和操作;被控端是用作运行在被控计算机内的可执行文件,为提高执行速度,从客户端发送到服务端的信息应尽量的少。主控端与被控端之间通过使用TCP协议建立连接,以实现对被控计算机的控制。
目 录 论文总页数:24页 1 引言 1 1.1 背景 1 1.2 国内外研究现状 1 1.3 本课题研究的意义 2 1.4 作者主要工作 2 2 相关理论基础 3 2.1 远程控制概述 3 2.1.1 远程控制软件的原理 3 2.1.2 远程控制技术的应用 4 2.2 开发环境 5 2.3 主要控件介绍 5 2.3.1 Winsock控件 5 2.3.2 Timer控件介绍 5 2.4 C/S模式 5 2.5 TCP协议与UDP协议介绍 6 2.5.1 TCP 协议 6 2.5.2 UDP 协议 6 3 需求分析 6 3.1 系统概貌 6 3.2 功能要求 7 3.3 主控端设计思路 7 3.4 性能要求 8 3.5 运行要求 8 4 主控端及部分被控端设计与实现 8 4.1 简单远程控制系统结构设计 8 4.1.1 简单远程控制系统的结构 8 4.1.2 简单远程控制系统的功能模块 9 4.2 系统功能的实现 10 4.2.1 主控端界面 10 4.2.2 功能实现过程 11 4.2.3 系统控制功能的实现 11 4.2.4 发送消息功能的实现 13 4.2.5 界面控制功能的实现 14 4.3 部分被控端程序功能的实现 16 4.3.1 被控端的连接 16 4.3.2 获取被控端信息功能的实现 17 5 测试 19 5.1 测试环境 19 5.2 测试过程与结果 19 结 论 21 参考文献 22 致 谢 23 声 明 24 |