关键词:远程控制;C/S模式;套接字;信息安全
摘 要
随着现今社会计算机的广泛普及以及网络的快速发展给远程控制系统带来了广阔的用武之地,人们可以通过简单的终端机完全的控制网络另一端的被控机,从而完成强大的控制功能,获取被控机的任何信息,这种方式被称之为远程控制。
简单远程控制系统由主控端和被控端两部分组成。主控端用于实施各种对连网计算机的监控操作,被控端对于接收到的数据进行分析,解释并执行。系统主要可以实现获取被控端信息、被控端系统控制、消息发送和被控端界面控制的监控功能。
本文对远程控制系统原理和主要相关技术作了简单介绍,在进行需求分析之后,详细描述了本系统的被控端的设计与实现,最后表格形式给出测试结果。
1引言
1.1 本课题的研究背景和意义
随着社会、科技、经济的不断发展,远程控制技术的应用范围也在不断拓展,从最初银行、军事、机要部门等特殊行业领域的应用已经延伸到了今天的电业部门、商业部门、普通工矿企业、道路交通领域、学校教学应用、卫生医疗部门以及宾馆酒店行业等等,其卓越的功能也日益受到各个应用行业的重视和青睐,但是许多远程监控软件都需要配有硬件设备,这不仅使得实际应用的成本升高,而且也使实施应用增加了技术障碍。虽然有诸多问题的存在,但是我们应该认识到远程控制技术的研究,不仅充分利用了现有资源,拓宽了因特网的利用范围,而且也使远程控制能够减少成本扩大远程化距离,实现任意节点的访问机制,并进入一般的应用领域,比如,进入家庭,人们通过因特网控制家用电器,采用因特网作为远程控制平台,是一项很有前途和潜力的技术,另外它可以应用到设备远程诊断、远程监测、遥控等领域。
因特网的出现及其发展推动了科学技术的各个方面,并使之取得了巨大的进步,利用因特网,可以使远程控制技术得到大范围的应用,从而方便人们的生活。
1.2 国内外研究现状
目前,基于因特网的远程控制国内外都有不同程度的研究。相对来说,由于西方国家在信息技术和计算机控制技术的发展上的优势,他们在研究远程控制方面相对早些,而且有些公司有相关的初级产品问世。国内由于因特网的飞速发展,近几年也开始积极的研究。国内外在基于因特网的远程机器人控制方面的研究相对其他领域要多一些。例如美国伯克立大学研制的是一个通过因特网远程控制的种植花草工业机器人手臂。拥护通过机器人手臂上的摄像机所传输的图像,对这个花园内进行简单的操作。
这些基于因特网的远程控制系统普遍采用了客户/服务器网络模型,现场采用摄像机来监视,并通过网络发出指令。当前,由于网络基础设施还不够完善,所以监视图像由于数据量大,其传输时间过长。即使是采用了数据压缩技术,也仍然有很大的数据量需要传输,因而由此产生的远程控制时间延迟也必然很大。此外,这类系统普遍采用瘦客户/肥服务器的网络模型,监控端的控制操作功能过于简单,都只是发一些简单的指令,而不能实现一些复杂的必要的逻辑处理功能。第三,这类系统在处理上由于时间延迟影响现场控制系统不稳定时,仍然采用的执行-等待-执行-等待的单步执行流程,生产设备运行效率相当低下,第四,大量的采用以图像监视为主的方式,虽然可以使得监控人员更能直观的感受到现场情况,便与监控人员的控制;但是我们应该注意到,有些设备的被监控状态是难以用图像方式表示出来的,比如温度、速度、压力这类精确的数值量;此外有些采用图像传输的数据量也可以采用通过数据传输关键数据以在监控端进行实况模拟图,这样就会减少数据量,而使数据传输速度大大提高。
1.3 本课题的主要研究的内容
远程控制是一个具有重要的研究价值的课题,它在工业,国防等各个方面有着广泛的需求。然而,使用传统的方式,由于成本、技术、维护、传输距离等方面的问题,远程控制并没有很好的推广和利用。先进由于因特网的出现,使得成本低廉的远距离通信轻易的变成了现实。于是采用因特网作为远程控制平台,将远程控制的状态、命令等控制数据和信息通过因特网传输。既减少了开发成本、也增加远程控制的灵活性,人们也不必再为了实现一个临时的远程控制,而需要重建一套远程控制系统。
本课题的研究主要内容主要包括以下几个方面:
1.简单远程控制系统相关理论研究
2.简单远程控制系统总体结构
3.简单远程控制系统的功能模块的设计
4.简单远程控制系统功能模块的编程实现
1.4 作者的主要工作
该系统软件是本人与宣琳同学共同研究开发的,宣琳同学主要负责主控端和部分被控端(获取被控端信息)的设计与开发,本人主要负责被控端的设计与开发。
本人在系统开发中的具体工作:
1.搜寻与系统开发相关的资料,熟悉VB开发语言。
2.完成被控端与主控端的连接。
3.完成被控端模块的程序代码。
4.与宣琳同学一起对系统进行调试和测试。
5.归并相关系统开发文档,完成毕业论文的撰写。
3简单远程控制系统总体结构
3.1 系统规格说明
3.1.1简单远程控制系统的概貌
“简单远程控制系统的设计与实现”主要包含两个部分:主控端和被控端。主控端是运行在用户计算机上的一个程序,该端主要实现对被控端的控制,以实现对被控计算机关机、注销、重起以及向被控端发送消息等功能。
被控端是运行在目标计算机(被控计算机)上的一个程序,以提供该计算机的各种信息,以及实现主控端对其执行的各种操作。
3.1.2各模块功能要求
本系统在功能要求上主要实现的功能有:主控端获取被控端计算机系统信息、对被控端界面的控制、对被控端的系统控制以及对向被控端发送消息。
1.主控端获取被控端系统信息。此模块的主要功能是主控端能通过此功能了解到被控计算机上的系统信息,为后面进一步的对被控端进行控制作一个简单的了解,也同时通过此功能对被控计算机上所安装的软、硬件进行了解,做到对被控计算机的了解程度跟了解本机一样。
2.对被控端的界面控制。此模块主要实现主控端对被控计算机的用户界面的控制,包括对开始按钮的隐藏以及显示、任务栏的隐藏以及显示和桌面图标的隐藏和显示功能。
3.对被控端的系统控制。此模块主要实现对被控计算机的机器系统的控制,包括对被控计算机实施关闭计算机、重新启动被控端计算机以及注销被控端计算机目前使用的用户功能。做到使主控端用户在主控计算机上就能很容易的控制被控计算机的系统。
4.向被控端发送信息。此模块主要实现主控计算机向被控计算机发送文字性消息的功能,有了此功能模块的建立,主控端用户可以在本机上向被控端用户传递信息和发送消息,做到了主控端的用户与被控端用户的联系。
3.1.3性能要求
主控端界面应当简单、友好、方便使用和操作;被控端是用作运行在被控计算机内的可执行文件,为提高执行速度,从客户端发送到服务端的信息应尽量的少。主控端与被控端之间通过使用TCP协议建立连接,以实现对被控计算机的控制。
3.1.4运行要求
设计出的简单远程控制软件应当在现在使用的大量操作系统上都能运行。例如:Windows 2000、Windows XP、Windows 2003;能在较低的硬件配置上运行,如128M的内存,AMD 1800+的处理器。
3.2 数据要求
简单远程控制系统的结构中,主控端是相当于一个系统的前台,为用户提供了一个操作界面,而几乎所有的操作都是在被控端这个后台处理程序运行的,被控端界面提供的操作可分为连接、动作、和信息三个模块。连接模块是在被控端运行的,动作模块作为远程控制系统的核心,是在主控端运行实现的。
3.3 用户系统描述
首先设置主控计算机为主控端,主控端显示为监听状态,被控端通过输入主控计算机的IP地址点击连接主控端。被控端连接成功后,主控端显示为连接状态,主控端便可以对被控计算机实现各种操作。每次操作成功后都会在主控端计算机上显示相应的提示信息。
4 简单远程控制系统的功能模块的设计
4.1 简单远程控制系统的主体设计
被控端窗口设计为输入主控计算机IP地址,连接主控端计算机的窗口,连接成功后自动进入托盘中,使被控计算机桌面很洁净,也体现出一些隐藏性。
主控端窗口设计为对被控端的各种控制按钮的界面,当被控端与主控端连接成功后在被控端显示连接成功对话框,提示用户连接成功后,用户通过点击界面上