计算机专业论远程控制系统设计论文.docx
《计算机专业论远程控制系统设计论文.docx》由会员分享,可在线阅读,更多相关《计算机专业论远程控制系统设计论文.docx(36页珍藏版)》请在冰豆网上搜索。
计算机专业论远程控制系统设计论文
摘要
随着现今社会计算机的广泛普及以及网络的快速发展给远程控制系统带来了广阔的用武之地,人们可以通过简单的终端机完全的控制网络另一端的被控机,从而完成强大的控制功能,获取被控机的任何信息,这种方式被称之为远程控制。
使用远程控制技术,可以对远程计算机进行操作,就像控制本地计算机一样。
这种技术在远程设备(软件)的维护、监控与故障诊断等方面有着广泛的应用前景。
远程技术支持将占据技术支持的主流:
远程教学和培训也将快速发展。
企业规模将迅速扩大,所有这些发展都为远程控制软件提供了一个广阔的天地。
简单远程控制系统由主控端和被控端两部分组成。
主控端用于实施各种对连网计算机的监控操作,被控端对于接收到的数据进行分析,解释并执行。
系统主要可以实现获取被控端信息、被控端系统控制、消息发送和被控端界面控制的监控功能。
本文对远程控制系统原理和主要相关技术作了简单介绍,在进行的需求分析之后,详细描述了本系统的主控端和被控端的设计与实现,最后表格形式给出测试结果。
关键词:
远程控制;C/S模式;套接字;信息安全
Abstract
Withthewideuseofcomputerandtherapiddevelopmentofnetwork,theremotecontrolsystemisusedfarandwide.Justthroughsimplemanipulateoftheterminal,peoplecancompletelycontrolthecomputerontheotherside,includingobtainthesysteminformationofthecomputer,andimplementpowerfulfunctions.Itisso-calledremotecontrol.
Usingthetechnologyofremotecontrol,theremotecomputercanbecontrolledasconvenientlyasthelocalone.Thetechnologyofremotecontrolcanbeveryusefulinthemaintenance,monitoringandmalfunctiondiagnosisofremotecomputers.Remotecontroltechniquewillbeatideoftechniquesupport;distanceeducationandtrainwillalsobedevelopinginahighspeed.Thescopeofenterpriseswillextendataveryfastspeedinthesameway.Thesealldevelopmentprovidesawidespaceforremotecontrolsoftware.
Thesimpleremotecontrolsystemconsistsoftwopartsincludingcontrollingterminalandcontrolledterminal.Wecanmonitorthecontrolledterminalandimplementsomeoperationaboutcontrollingthecontrolledterminalonthecontrollingmonitor.Thecontrolledterminalisusedforanalyzing,explainingandimplementthereceiveddata.Thesystemcanimplementthefunctionofgettingtheinformationofcontrolledterminal,controlcontrolledterminal,sendingmessages,controllingthescreenofthecontrolledcomputerandsoon.
Thepapersimplyintroducesthetheoryofremotecontrolandthemaincorrelativetechnology.Aftertheanalysis,itdescribesthedesignandimplementofthecontrollingterminalandthefunctionofgettingtheinformationofcontrolledterminal.Atlast,itshowstheresultinformoffigures.
Keywords:
Remotecontrol;Client/Servermode;socket;Informationsecurity
2.1.2远程控制技术的应用5
2.2远程控制软件卡发环境6
2.5英特网协议7
2.6主要控件介绍8
3.2各模块功能要求9
3.3性能要求10
3.4运行要求10
4.2远程控制系统的功能模块12
5.1.1主控端界面14
5.4远程控制的向被控端发送消息的实现20
5.6获取被控端信息功能的实现25
远程控制系统的设计
1引言
1.1本课题的研究背景和意义
远程控制是在网络上由一台电脑(主控端Remote/客户端)远距离去控制另一台电脑(被控端Host/服务器端)的技术,这里的远程不是字面意思的远距离,一般指通过网络控制远端电脑,不过,大多数时候我们所说的远程控制往往指在局域网中的远程控制而言,远程控制必须通过网络才能进行。
主控端和被控端可以是位于同一局域网的同一房间中,也可以是连入Internet的处在任何位置的两台或多台计算机。
简单远程控制具有和木马相同的原理,远程控制一旦被居心不良者钻了空子,它的危害甚至比木马还要严重。
远程控制具有很多功能,例如远程培训与教学.远程办公.远程管理与维护.远程监控。
电脑中的远程控制技术,始于DOS时代,只不过当时由于技术上没有什么大的变化,网络不发达,市场没有更高的要求,所以远程控制技术没有引起更多人的注意。
但是,随着网络的高度发展,电脑的管理及技术支持的需要,远程操作及控制技术越来越引起人们的关注。
随着社会、科技、经济的不断发展,远程控制技术的应用范围也在不断扩展。
小到个人的使用,大到整个行业的应用。
远程控制技术应用到了我们生活中的各行各业中,从银行、军事、机要部门等特殊行业领域到电业部门、邮政电信部门、商业部门、普通工矿企业、道路交通领域、卫生医疗部门以及宾馆酒店行业等等,其卓越的功能也日益受到各个应用行业的重视和青睐。
远程控制是当前信息技术领域的热点,使用远程控制技术,我们可以克服因地域差异而造成的操作不便,让网络的效率得到更大的发挥。
随着技术的发展与网络的普及,目前远程控制技术的应用领域已经相当广泛。
我们不仅可以通过远程控制技术管理远端电脑,解决远端电脑的故障,与其他同事通过网络实现远程协作,一起编辑一份文档或者与其他团队成员交流信息,还可以在家里或旅途中使用公司内部网络的数据与办公设备,实现远程办公。
此外,您还能让学员远程连接到您的电脑,实时学习软件的操作,或者与多位远程连接用户进行多点会话。
对于个人用户而言,远程控制技术最具吸引力的莫过于可以遥控远端的电脑。
用户可以在家中操作办公室里的电脑,或者在办公室里调用存储在家中的文档,同时还可以当一回专家,通过远程控制计算机为朋友的电脑排忧解难。
1.2国内外研究现状
起初,使用远程控制软件,是为了让PC用户在离开办公室时能访问其台式PC硬盘中的信息,甚至可以通过其台式PC访问企业网络资源,今天,许多企业和增值分销商正在把远程控制能力作为有效的技术支持工具。
很多网络管理员都采用这类软件对局域网进行管理,或者在家中更新自己网站的内容。
这类软件对于出差在外的商务人员用处非常大,因为他们可以随时提取自己家里计算机中的数据和资料。
远程控制软件在计算机远程教学和培训中也发挥了很大的作用,使身处异地的学生能够与老师进行适时交流,犹如坐在同一间教室。
近年来,黑客技术不断成熟起来,对网络安全造成了极大的威胁。
黑客的主要攻击手段之一就是使用远程控制技术,渗透到对方的主机系统里,从而实现远程操作目标主机,其破坏力之大,是绝不容忽视的。
目前,远程控制技术也广泛应用在工业领域,可以对远程数据进行实时监控,提高工作效率,进而降低管理成本。
目前,基于因特网的远程控制国内外都有不同程度的研究。
相对来说,由于西方国家在信息技术和计算机控制技术的发展上的优势,他们在研究远程控制方面相对早些,而且有些公司有相关的初级产品问世。
国内由于因特网的飞速发展,近几年也开始积极的研究。
国内外在基于因特网的远程机器人控制方面的研究相对其他领域要多一些。
例如美国伯克立大学研制的是一个通过因特网远程控制的种植花草工业机器人手臂。
拥护通过机器人手臂上的摄像机所传输的图像,对这个花园内进行简单的操作。
远程控制一般支持下面的这些网络方式:
LAN、WAN、拨号方式、互联网方式。
此外,有的远程控制软件还支持通过串口、并口、红外端口来对远程机进行控制(不过,这里说的远程电脑,只能是有限距离范围内的电脑了)。
传统的远程控制软件一般使用NETBEUI、NETBIOS、IPX/SPX、TCP/IP等协议来实现远程控制。
这些远程控制系统普遍采用了客户/服务器模型(即C/S模型),可以是一对一的模式,也可以是一对多的模式。
现场采用摄像机来监视,并通过网络发出指令。
当前,由于网络基础设施还不够完善,所以监视图像由于数据量大,其传输时间过长。
即使是采用了数据压缩技术,也仍然有很大的数据量需要传输,因而由此产生的远程控制时间延迟也必然很大。
此外,这类系统普遍采用瘦客户/肥服务器的网络模型,监控端的控制操作功能过于简单,都只是发一些简单的指令,而不能实现一些复杂的必要的逻辑处理功能。
第三,这类系统在处理上由于时间延迟影响现场控制系统不稳定时,仍然采用的执行-等待-执行-等待的单步执行流程,生产设备运行效率相当低下,第四,大量的采用以图像监视为主的方式,虽然可以使得监控人员更能直观的感受到现场情况,便与监控人员的控制;但是我们应该注意到,有些设备的被监控状态是难以用图像方式表示出来的,比如温度、速度、压力这类精确的数值量;此外有些采用图像传输的数据量也可以采用通过数据传输关键数据以在监控端进行实况模拟图,这样就会减少数据量,而使数据传输速度大大提高。
1.3本课题的主要研究的内容
远程控制是一个具有重要的研究价值的课题,它在工业,国防等各个方面有着广泛的需求。
然而,使用传统的方式,由于成本、技术、维护、传输距离等方面的问题,远程控制并没有很好的推广和利用。
先进由于因特网的出现,使得成本低廉的远距离通信轻易的变成了现实。
于是采用因特网作为远程控制平台,将远程控制的状态、命令等控制数据和信息通过因特网传输。
既减少了开发成本、也增加远程控制的灵活性,人们也不必再为了实现一个临时的远程控制,而需要重建一套远程控制系统。
本课题的研究主要内容主要包括以下几个方面:
1.远程控制系统相关理论研究
2.远程控制系统总体结构
3.远程控制系统的功能模块的设计
4.远程控制系统功能模块的编程实现
1.4作者的主要工作
本人在系统开发中的具体工作:
1.搜寻与系统开发相关的资料,熟悉VB开发语言。
2.完成主控端界面设计。
3.完成界面按钮与各个功能模块的连接。
4.完成主控端各个模块的界面与程序代码。
5.完成被控端与主控端的连接。
6.完成被控端模块的程序代码。
7.完成整个获取被控端信息功能模块。
8.系统进行调试和测试
9.归并相关系统开发文档,完成毕业论文的撰写。
2远程控制系统相关理论研究
整个系统采用C/S(服务器/客户机),即被控端/主控端模型设计。
主控端程序运行在主控机上,被控端程序运行在受控机上。
主控端向被控端发送请求和控制指令,被控端响应请求并执行相应的功能。
双方之间是基于TCP/IP协议进行的点对点的通信。
编码是利用VB进行编程,使用VisualBasic6.0进行编译。
2.1远程控制系统概述
远程控制是在网络上由一台电脑(主控端Remote/客户端)远距离去控制另一台电脑(被控端Host/服务器端)的技术,所有的远程控制系统几乎都可以无一例外的划分为:
被控端(主要负责控制过程的实施)、网络、主控端(借助远程数据访问控制过程,进行控制)、三个子系统的构成。
这里的远程不是字面意思的远距离,一般指通过网络控制远端电脑,不过,大多数时候我们所说的远程控制往往指在局域网中的远程控制而言。
当操作者使用主控电脑所控制被控电脑时,就如同坐在被控电脑的屏幕前一样,可以启动被控电脑的应用程序,可以使用被控电脑的文件资料,甚至可以利用被控电脑的外部打印设备(打印机)和通信设备(调制解调器或者专线等)来进行打印和访问互联网,就像你利用遥控器遥控电视的音量、变换频道或者开关电视机一样。
不过,有一个概念需要明确,那就是主控电脑只是将键盘和鼠标的指令传送给远程电脑,同时将被控电脑的屏幕画面通过通信线路回传过来。
也就是说,我们控制被控电脑进行操作似乎是在眼前的电脑上进行的,实质是在远程电脑中实现的,不论打开文件,还是上网浏览、下载等都是存储在远程的被控电脑中的。
2.1.1远程控制软件的原理
远程控制软件一般分两个部分:
一部分是客户端程序Client,另一部分是服务器端程序Server(或Systry),在使用前需要将客户端程序安装到主控电脑上,将服务器端程序安装到被控电脑上。
它的控制的过程一般是先在主控电脑上执行客户端程序,像一个普通的客户一样向被控电脑中的服务器端程序发出信号,建立一个特殊的远程服务,然后通过这个远程服务,使用各种远程控制功能发送远程控制命令,控制被控电脑中的各种应用程序运行,我们称这种远程控制方式为基于远程服务的远程控制。
通过远程控制软件,我们可以进行很多方面的远程控制,包括获取目标电脑屏幕图像、窗口及进程列表;记录并提取远端键盘事件(击键序列,即监视远端键盘输入的内容);可以打开、关闭目标电脑的任意目录并实现资源共享;提取拨号网络及普通程序的密码;激活、中止远端程序进程;管理远端电脑的文件和文件夹;关闭或者重新启动远端电脑中的操作系统;修改Windows注册表;通过远端电脑上、下载文件和捕获音频、视频信号等。
2.1.2远程控制技术的应用
1、远程办公
这种远程的办公方式不仅大大缓解了城市交通状况,减少了环境污染,还免去了人们上下班路上奔波的辛劳,更可以提高企业员工的工作效率和工作兴趣。
2、远程技术支持
通常,远距离的技术支持必须依赖技术人员和用户之间的电话交流来进行,这种交流既耗时又容易出错。
许多用户对电脑了解得很少,然而当遇到问题时,他们必须向无法看到电脑屏幕的技术人员描述问题的症状,并且严格遵守技术人员的指示精确地描述屏幕上的内容,但是由于他们的电脑专业知识非常少,描述往往不得要领,这就给技术人员判断故障制造了非常大的障碍。
即使技术人员明白了用户电脑的问题所在,在尝试解决问题时,技术人员可能会指导用户执行一系列复杂的命令,而这个过程对用户来说是十分困难的,因为技术人员要依靠自己的语言来“操纵”用户的鼠标和键盘简直是太难了,如果用户不能正确地遵照指示去做,问题可能会进一步恶化,电脑很可能会因为错误的操作导致系统的崩溃。
这样一来,往往是技术人员要为十分简单的一个问题和用户说上十几分钟,甚至会专程跑到很远的用户那里帮助解决问题,而用户往往因为问题还没有解决,只好将电脑闲置不用,单等技术人员上门来解决问题。
有了远程控制技术,技术人员就可以远程控制用户的电脑,就像直接操作本地电脑一样,只需要用户的简单帮助就可以得到该机器存在的问题的第一手材料,很快就可以找到问题的所在,并加以解决。
3、远程交流
利用远程技术,商业公司可以实现和用户的远程交流,采用交互式的教学模式,通过实际操作来培训用户,使用户从技术支持专业人员那里学习示例知识变得十分容易。
而教师和学生之间也可以利用这种远程控制技术实现教学问题的交流,学生可以不用见到老师,就得到老师手把手的辅导和讲授。
学生还可以直接在电脑中进行习题的演算和求解,在此过程中,教师能够轻松看到学生的解题思路和步骤,并加以实时的指导。
4、远程维护和管理
网络管理员或者普通用户可以通过远程控制技术为远端的电脑安装和配置软件、下载并安装软件修补程序、配置应用程序和进行系统软件设置。
2.2远程控制软件开发环境
VisualBasic是基于对象的可视化程序开发工具,它的优点在于能够快捷、简易的建立Windows应用程序。
VisualBasic是在原有BASIC语言的基础上进一步发展,除了保留了BASIC语言的易学易用的优点外,进一步增加了图形用户界面的方法。
专业人员可以用VisualBasic实现其他任何Windows编辑语言的功能,而初学者也能迅速上手建立实用的应用程序。
VisualBasic6.0中文版本简介:
VisualBasic的前身是QBASIC,语言基础是Basic。
Basic(BeginnersAll-PurposeSymbolicInstructionCode)语言,是一种在计算机技术发展史上应用的最为广泛的语言。
VisualBasic在原有Basic语言的基础上进一步发展,至今包含了数百条语句、函数及关键词,其中很多和WindowsGUI有直接关系。
VisualBasic除了保留了Basic语言的易学易用的优点外,进一步增加了开发图形用户界面的方法,以可视化的用户界面设计机制,把程序设计人员从繁杂的界面设计工作中解脱出来,可以轻易的开发出具有优秀的图形界面和声音、动画、图片集成的多媒体应用程序。
自从微软推出VB后,它便成为了程序开发人员的首选工具。
2.3客户/服务器模式
客户/服务器模型是常用的设计网络模型,(Client/Server,客户端/服务器)又称C/S结构。
它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。
Client端的任务是将用户的要求提交给Server端,再将Server端返回的结果以特定的形式显示给用户;Server端的任务是接收客户端提出的服务请求,进行相应的处理,再将结果返回给客户端。
网络通信要在两台计算机或互相对话的两个程序之间建立网络连接,网络连接包括通信进程的两端以及它们之间的通道。
也就是说,在客户/服务器模型中,网络应用程序完成两个独立的和定义好的功能:
请求信息和对请求信息做出响应。
请求信息是客户方应用程序,对请求信息做出响应的程序充当服务器程序。
2.4Socket的引入
在远程控制软件中,对于主控机和受控机进行的数据通信所使用的主要技术就是网络编程技术和系统编程技术。
随着计算机网络技术的发展TCP/IP协议,被集成到操作系统内核中时,相当于在操作系统中引入了一种新型的输入/输出操作,操作系统拥护进程与网络的交互作用比用户进程与传统的输入/输出设备互相作用复杂的多。
首先,进行网络操作的两个进程不在同机器上,如何建立它们之间的联系?
其次,有很多种网络协议,如何建立一种通用机制以支持多种协议?
这些都是网络应用变成所要解决的问题。
20世纪80年代初,美国政府的高级研究工程机构ARPA给加利福尼亚大学BERKELEY分校提供了奖金,让他们在UNIX操作系统下实现TCP/IP协议。
在这个项目中,研究人员为TCP/IP网络通信开发了一个应用程序接口API。
这个API就称为SOCKET(套接字)接口,今天SOCKET接口是TCP/IP网络最为通用的API,也是在INTERNET上进行应用开发最为通用的API。
2.5因特网协议
TCP/IP(传输控制协议/因特网协议)是建议在因特网的基础上。
因特网上的计算机通过互相发送信息分组进行通信,这种信息分组由成块的数据、特定的控制信息和寻址信息组成。
控制和寻址信息用来确保信息包到达目的地,并够能被收信主机重新组成可以使用的计算机数据。
这种信息传递方式是由TCP/IP协议所规定的。
因此,TCP/IP是互联网的“通信语言”。
TCP/IP协议中规定了信息包应该怎样分层、分组,怎样在收信计算机上将信息分组重新装成计算机数据,怎样在线路上传输信号,以及许多其他有关的问题,如不同的层次上的信息分组需要不同的软件和硬件支持,以便他们在不同的网络和通信线路上发送和接收信息。
IP的一个主要工作是路由选择,即在网络中引导数据包的过程。
TCP负责转换级处理,在一个连接的每一端给每个发送的数据包分配一个顺序号,每个计算机都跟踪记录它已发送或者接收到的数据包顺序号。
TCP/IP协议模型由四层组成,分别是应用层、传输层、网络层、网络接口层。
2.6主要控件介绍
2.6.1Winsock控件
Winsock控件对用户来说是不可见的,它提供了访问TCP和UDP网络服务的方便途径。
MicrosoftAccess、VisualBasic、VisualC++或VisualFoxPro的开发人员都可使用它。
为编写客户或服务器应用程序,不必了解TCP的细节或调用低级的WinsockAPIs。
通过设置控件的属性并调用其方法就可轻易连接到一台远程机器上去,并且还可双向交换数据。
TCP基础:
数据传输协议允许创建和维护与远程计算机的连接。
连接两台计算机就可彼此进行数据传输。
如果创建客户应用程序,就必须知道服务器计算机名或者IP地址(RemoteHost属性),还要知道进行“侦听”的端口(RemotePort属性),然后调用Connect方法。
如果创建服务器应用程序,就应设置一个收听端口(LocalPort属性)并调用Listen方法。
当客户计算机需要连接时就会发生ConnectionRequest事件。
为了完成连接,可调用ConnectionRequest事件内的Accept方法。
建立连接后,任何一方计算机都可以收发数据。
为了发送数据,可调用SendData方法。
当接收数据时会发生DataArriva事件。
调用DataArrival事件内的GetData方法就可获取数据。
UDP基础:
用户数据文报协议(UDP)是一个无连接协议。
跟TCP的操作不同,计算机并不建立连接。
另外UDP应用程序可以是客户机,也可以是服务器。
为了传输数据,首先要设置客户计算机的LocalPort属性。
然后,服务器计算机只需将RemoteHost设置为客户计算机的Internet地址,并将RemotePort属性设置为跟客户计算机的LocalPort属性相同的端口,并调用SendData方法来着手发送信息。
于是,客户计算机使用DataArrival事件内的GetData方法来获取已发送的信息。
2.6.2Timer控件介绍
Timer(时钟)控件响应时间的流逝。
它们独立于用户,编程后可用来在一定的时间间隔执行操作。
此控件一般用处是检查系统时钟,判断是否执行某项任务。
对于其它后台处理,Timer空间也是非常有用的。
3远程控制系统总体结构