简论远程控制系统设计与开发被控端模块设计大学本科毕业论文.docx

上传人:b****8 文档编号:11348421 上传时间:2023-02-28 格式:DOCX 页数:28 大小:490.89KB
下载 相关 举报
简论远程控制系统设计与开发被控端模块设计大学本科毕业论文.docx_第1页
第1页 / 共28页
简论远程控制系统设计与开发被控端模块设计大学本科毕业论文.docx_第2页
第2页 / 共28页
简论远程控制系统设计与开发被控端模块设计大学本科毕业论文.docx_第3页
第3页 / 共28页
简论远程控制系统设计与开发被控端模块设计大学本科毕业论文.docx_第4页
第4页 / 共28页
简论远程控制系统设计与开发被控端模块设计大学本科毕业论文.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

简论远程控制系统设计与开发被控端模块设计大学本科毕业论文.docx

《简论远程控制系统设计与开发被控端模块设计大学本科毕业论文.docx》由会员分享,可在线阅读,更多相关《简论远程控制系统设计与开发被控端模块设计大学本科毕业论文.docx(28页珍藏版)》请在冰豆网上搜索。

简论远程控制系统设计与开发被控端模块设计大学本科毕业论文.docx

简论远程控制系统设计与开发被控端模块设计大学本科毕业论文

SimpleRemoteControlSystem

——TheDesignofControlledTerminal

Abstract

Withtherapid developmentof thewideuseofcomputerand network hasbroughtabroad play totheremote controlsystem, peoplecanbe controlled throughthesimple terminal completecontrol network attheotherend, thuscompletingthepowerfulcontrolfunction, obtainany informationofcontrolled machine, inthiswayisknownasremote control.

Withtherapid developmentofnetworktechnology, theoperatingsystemusesthe hostcomputersinthenetwork havethe functionofremotecontrol, remotecontrolprovides greatceconveniencetothe networkadministrator. Anditalsogreatly convenientways to hackersandcriminals, by remotecontrol, very easy tosteal userinformation, network privacy, maliciousdamageto thecomputersystem. Master someknowledgeof remote control, andtoprevent thethreattonetworksecurity remotecontrol brings, isnowinthenetwork operatingsystem,theadministrator ofarequired course.

Thesimpleremotecontrol systemconsistsofamaincontrol endandthe end oftwoparts. Thehost for theimplementationofvarious control andmonitortheoperation ofthecomputerconnectedtoanetwork, thehost receivesdataforanalysis, interpretationandimplementation. Thesystemcanimplementthecontrolledend ofgettingtheinformationofcontrolledterminal, systemcontrol,end themousecontrol, thecontrolledterminal keyboardcontrol, accusedofsendingend processcontrol andmessage function.

Inthispaper, thetheoryofremotecontrolandthe maintechnology isbrieflyintroduced, aftertheanalysis, adetaileddescriptionofthe hostsofthedesignandimplementationof thesystem, finally givesthemeasurementresults.

Keywords:

RemotecontrolClient/ServermodeSocketInformationsecurity

目录

1引言1

1.1本课题的研究背景和意义1

1.2国内外研究现状2

1.3本课题的主要研究的内容2

1.4作者的主要工作3

2简单远程控制系统相关理论研究3

2.1远程控制系统概述3

2.2Socket套接字4

2.3客户端/服务器(C/S)模式7

2.4因特网协议7

3简单远程控制系统总体结构8

3.1系统规格说明8

3.1.1简单远程控制系统的概貌8

3.1.2各模块功能要求8

3.1.3性能要求9

3.1.4运行要求9

3.2数据要求9

3.3用户系统描述9

4简单远程控制系统的功能模块的设计9

4.1简单远程控制系统的主体设计9

4.2简单远程控制系统的系统功能的实现10

5简单远程控制系统功能模块的编程及实现11

5.1简单远程控制的连接功能实现11

5.2简单远程控制的被控端获取信息的实现12

5.3简单远程控制的向被控端发送消息的实现13

5.4简单远程控制的被控端键盘和鼠标的开启和锁定的实现14

5.5简单远程控制的被控端进程的浏览和杀死功能的实现16

5.6简单远程控制的被控端执行CMD命令的实现18

6测试19

6.1测试环境19

6.2测试过程以及结果19

结论21

参考文献22

1引言

1.1本课题的研究背景和意义

随着社会、科技、经济的不断发展,远程控制技术的应用范围也在不断拓展,从最初银行、军事、机要部门等特殊行业领域的应用已经延伸到了今天的电业部门、商业部门、普通工矿企业、道路交通领域、学校教学应用、卫生医疗部门以及宾馆酒店行业等等,其卓越的功能也日益受到各个应用行业的重视和青睐,但是许多远程监控软件都需要配有硬件设备,这不仅使得实际应用的成本升高,而且也使实施应用增加了技术障碍。

虽然有诸多问题的存在,但是我们应该认识到远程控制技术的研究,不仅充分利用了现有资源,拓宽了因特网的利用范围,而且也使远程控制能够减少成本扩大远程化距离,实现任意节点的访问机制,并进入一般的应用领域,比如,进入家庭,人们通过因特网控制家用电器,采用因特网作为远程控制平台,是一项很有前途和潜力的技术,另外它可以应用到设备远程诊断、远程监测、遥控等领域。

远程控制软件一般分两个部分:

一部分是客户端程序Client,另一部分是服务器端程序Server,在使用前需要将客户端程序安装到主控端电脑上,将服务器端程序安装到被控端电脑上。

它的控制的过程一般是先在主控端电脑上执行客户端程序,像一个普通的客户一样向被控端电脑中的服务器端程序发出信号,建立一个特殊的远程服务,然后通过这个远程服务,使用各种远程控制功能发送远程控制命令,控制被控端电脑中的各种应用程序运行,我们称这种远程控制方式为基于远程服务的远程控制。

通过远程控制软件,我们可以进行很多方面的远程控制,包括获取目标电脑屏幕图像、窗口及进程列表;记录并提取远端键盘事件(击键序列,即监视远端键盘输入的内容);可以打开、关闭目标电脑的任意目录并实现资源共享;提取拨号网络及普通程序的密码;激活、中止远端程序进程;管理远端电脑的文件和文件夹;关闭或者重新启动远端电脑中的操作系统;修改Windows注册表;通过远端电脑上、下载文件和捕获音频、视频信号等。

前面所讲的是一台电脑对一台电脑的情况,其实,基于远程服务的远程控制最适合的模式是一对多,即利用远程控制软件,我们可以使用一台电脑控制多台电脑,这就不必为办公室的每一台电脑都安装一个调制解调器,而只需要利用办公室局域网的优势就可以轻松实现远程多点控制了。

在进行一台电脑对多台远端电脑进行控制时,远程控制软件似乎更像一个局域网的网络管理员,而提供远程控制的远程终端服务就像极了办公室局域网的延伸。

这种一对多的连接方式在节省了调制解调器的同时,还使得网络的接入更加安全可靠,网络管理员也更易于管理局域网上的每一台电脑。

因特网的出现及其发展推动了科学技术的各个方面,并使之取得了巨大的进步,利用因特网,可以使远程控制技术得到大范围的应用,从而方便人们的生活。

1.2国内外研究现状

目前,基于因特网的远程控制国内外都有不同程度的研究。

相对来说,由于西方国家在信息技术和计算机控制技术的发展上的优势,他们在研究远程控制方面相对早些,而且有些公司有相关的初级产品问世。

国内由于因特网的飞速发展,近几年也开始积极的研究。

国内外在基于因特网的远程机器人控制方面的研究相对其他领域要多一些。

例如美国伯克立大学研制的是一个通过因特网远程控制的种植花草工业机器人手臂。

拥护通过机器人手臂上的摄像机所传输的图像,对这个花园内进行简单的操作。

这些基于因特网的远程控制系统普遍采用了客户/服务器网络模型,现场采用摄像机来监视,并通过网络发出指令。

当前,由于网络基础设施还不够完善,所以监视图像由于数据量大,其传输时间过长。

即使是采用了数据压缩技术,也仍然有很大的数据量需要传输,因而由此产生的远程控制时间延迟也必然很大。

此外,这类系统普遍采用瘦客户/肥服务器的网络模型,监控端的控制操作功能过于简单,都只是发一些简单的指令,而不能实现一些复杂的必要的逻辑处理功能。

第三,这类系统在处理上由于时间延迟影响现场控制系统不稳定时,仍然采用的执行-等待-执行-等待的单步执行流程,生产设备运行效率相当低下,第四,大量的采用以图像监视为主的方式,虽然可以使得监控人员更能直观的感受到现场情况,便与监控人员的控制;但是我们应该注意到,有些设备的被监控状态是难以用图像方式表示出来的,比如温度、速度、压力这类精确的数值量;此外有些采用图像传输的数据量也可以采用通过数据传输关键数据以在监控端进行实况模拟图,这样就会减少数据量,而使数据传输速度大大提高。

1.3本课题的主要研究的内容

远程控制是一个具有重要的研究价值的课题,它在工业,国防等各个方面有着广泛的需求。

然而,使用传统的方式,由于成本、技术、维护、传输距离等方面的问题,远程控制并没有很好的推广和利用。

先进由于因特网的出现,使得成本低廉的远距离通信轻易的变成了现实。

于是采用因特网作为远程控制平台,将远程控制的状态、命令等控制数据和信息通过因特网传输。

既减少了开发成本、也增加远程控制的灵活性,人们也不必再为了实现一个临时的远程控制,而需要重建一套远程控制系统。

基于Windows的远程控制软件开发毕业设计的主要任务是要求做出从系统角度的远程控制模式,并制作相应实用软件。

采用服务器(Server),客户端(Client)模式,使用Socket编程的基本原理及Windows的消息系统。

实现基本的远程控制要求,界面新颖友好。

用VC开发!

本课题的研究主要内容主要包括以下几个方面:

1.简单远程控制系统相关理论研究

2.简单远程控制系统总体结构

3.简单远程控制系统的功能模块的设计

4.简单远程控制系统功能模块的编程实现

1.4作者的主要工作

该系统软件是本人与张桐瑞同学共同研究开发的,张桐瑞同学主要负责主控的设计与开发,本人主要负责被控端的设计与开发。

本人在系统开发中的具体工作:

1.搜寻与系统开发相关的资料,熟悉c++开发语言。

2.完成被控端与主控端的连接。

3.完成被控端模块的程序代码。

4.与张桐瑞同学一起对系统进行调试和测试。

5.归并相关系统开发文档,完成毕业论文的撰写。

2简单远程控制系统相关理论研究

本系统采用C/S工作模式,由主控端和被控端两部分组成,被控端作为客户端运行在目标计算机上,接收指令,根据指令执行相应的操作;主控端运行在用户计算机向被控端发送指令。

编码上是利用c++进行编程,使用MicrosoftVisualC++6.0进行编译。

2.1远程控制系统概述

远程控制系统是以通信技术为基础的一门先进技术。

正是由于通信技术的发展使得远程控制技术得到快速的发展。

所有的远程控制系统几乎都可以无一例外的划分为:

被控端(主要负责控制过程的实施)、网络、主控端(借助远程数据访问控制过程,进行控制)、三个子系统的构成。

各部分分工协作,共同实现对设备的远程控制。

在本软件设计中,采用典型的C/S结构,由客户端与服务端两部分构成。

客户/服务器模式的最显著特点是非对等作用,即客户相对于服务器处于不平等的地位,服务端提供服务,客户端提供请求。

结构如图2.1结构图所示:

 

 

2.2Socket套接字

在远程控制软件中,对于主控机和受控机进行的数据通信所使用的主要技术就是网络编程技术和系统编程技术。

随着计算机网络技术的发展TCP/IP协议,被集成到操作系统内核中时,相当于在操作系统中引入了一种新型的输入/输出操作,操作系统拥护进程与网络的交互作用比用户进程与传统的输入/输出设备互相作用复杂的多。

首先,进行网络操作的两个进程不在同机器上,如何建立它们之间的联系?

其次,有很多种网络协议,如何建立一种通用机制以支持多种协议?

这些都是网络应用变成所要解决的问题。

20世纪80年代初,美国政府的高级研究工程机构ARPA给加利福尼亚大学BERKELEY分校提供了奖金,让他们在UNIX操作系统下实现TCP/IP协议。

在这个项目中,研究人员为TCP/IP网络通信开发了一个应用程序接口API。

这个API就称为SOCKET(套接字)接口,今天SOCKET接口是TCP/IP网络最为通用的API,也是在INTERNET上进行应用开发最为通用的API。

实际上,Socket在计算机中提供了一个通信端口(套接口)。

通过这个端口,一台计算机可以与任何一台具有Socket接口的计算机通信。

通信的接口是套接口,一个套接口是通信的一端,在这一端上可以找到与其对应的一个名字。

一个正在被使用的套接口都有他的类型和与其相关的进程,套接口存在于通信域中。

一个套接口通常和同一个域中的套接口交换数据(数据交换也可以穿越域的界限,但这时一定要执行某种解释程序。

)应用程序在网络上传输,接受的信息都是通过这个套接口来实现。

在应用开发中就像使用文件句柄一样,可以对Socket句柄进行读写操作。

2.2.1系统调用

socket()函数向应用程序提供套接字手段时的声明如下:

SOCKETPASCALFARsocket(intaf,inttype,intprotocol);

该函数有三个参数,其中参数af指定通信发生的区域,在DOS,Windows系统中支持AF_INET,它时网际网区域。

参数type描述要建立套接字的类型。

也就是指是流式套接字还是数据报套接字。

参数protocol说明该套接字使用的协议,如果该参数为0,则表示使用默认的连接模式。

Socket()函数根据这三个参数建立一个套接字,并将相应的资源分配给它,同时返回一个整形套接字句柄。

2.2.2指定本机地址

当一个套接字用socket()创建以后,bind()将套接字地址(主机地址和端口)与所创建的套接字编号联系起来,即将名字赋予套接字。

bind()声明如下:

intPASCALFARbind(SOCKETs,conststructsockaddrFAR*name,intnamelen);

bind()函数共有三个参数,其中参数s是由socket()函数调用返回的并且未连接的套接字句柄。

参数name是赋给套接字s的本地地址。

参数namelen指参数name的长度,调用成功,返回0;否则返回SOCKET_ERROR。

2.2.3建立套接字连接

建立套接字是要用connect()与accept()。

connect()函数的原型声明如下:

intPASCALFARconnect(SOCKETs,conststructsockaddrFAR*name,intnamelen);

Connect()共有三个参数,其中s指要建立连接的本届套接字句柄。

参数name指对方套接字地址结构的指针,对方套接字地址长度由参数namelen说明。

如果调有成功,返回0;否则返回SOCKET_ERROR。

Accept()函数原型声明如下:

SOCKETPASCALFARaccept(SOCKETs,structsockaddrFAR*addr,intFAR*addrlen);

该函数也由三个参数,其中参数s为本地套接字句柄,在做accept函数调用的参数前要先调用listen(),参数addr是指向客户方套接字地址结构的指针,用来接收连接实体的地址。

addr的确切格式由套接字创建时建立的地址簇决定。

参数addrlen为客户方套接字地址的长度。

如果调用成功,accept()函数返回一个SOCKET类型的值。

否则返回INVALID_SOCKET。

Socket(),bind(),connect(),accept()这四个套接字系统调用可以晚上一个完全的通信建立,包括协议,本地主机地址和端口,目的地址和端口。

socket()指定协议元,他的用法与是否为客户机和服务器,是否面向连接无关,bind()指定本机地址和端口号,时面向连接的。

在服务器方必须调用bind()函数;

2.2.4监听连接

建立连接以后,服务器端要调用listen()函数,表明愿意接收连接,listen()要在accept()之前调用,原函数声明如下:

intPASCALFARlisten(SOCKETs,intbacklog);

该函数有两个参数,参数s标志一个本地已建立单尚未连接的套接字句柄,服务器愿意从它上面接收请求。

参数backlog表示请求连接队列的最大长度,用于限制排队的请求个数,目前最大值为5。

如果调用成功,listen()函数返回0;否则返回SOCKET_ERROR。

2.2.5数据传输

当连接建立以后,就可以传输数据了,通常调用send()和recv()函数。

send()函数原型声明如下:

intPASCALFARsend(SOCKETs,constcharFAR*buf,intlen,intflags);

共有四个参数,其中s为已经连接的本地套接字句柄。

buf指向存有发送数据的缓冲区指针,长度有len指定。

flags智利队传输控制方式,如是否发送带外数据等。

如果调用成功,返回总发送的字节数;否则,返回SOCKET_ERROR。

Recv()函数调用用于在参数s指定的已经连接的数据报或流套接字上接收输入数据,原型声明如下:

IntPASCALFARrecv(SOCKETs,charFAR*buf,intlen,intflags);

参数的意义同send();

2.2.6关闭套接字

closesocket()关闭套接字s并释放分配给该套接字的资源,cosesocket()函数原型声明如下:

BOOLPASCALFARclosesocket(SOCKETs);

该函数只有一个参数s,指待关闭的套接字句柄。

如果调用成功,返回0,否则返回SOCKET_ERROR。

2.3客户端/服务器(C/S)模式

在TCP/IP网络应用中,通信的两个进程间相互作用的主要模式是客户机/服务器模式(Client/Server)。

即客户向服务器发出服务请求,服务器接受到请求后,提供相应的服务。

客户机/服务器模式的建立基于一下两点:

首先,建立网络的起因是网络中软硬件资源,运算能力和信息不均等,需要共享,从而造就拥有众多资源的主机提供服务,资源较少的客户请求服务这一非对等作用;其次,网间进程通信完全是异步的,相互通信的进程见既不存在父子关系,又不共享内存缓冲区,因此需要一种机制为希望通信的进程间建立联系,为两者的数据交换提供同步,这就是基于客户机/服务器模式的TCP/IP。

2.4因特网协议

TCP是面向连接的通信协议,通过三次握手建立连接,通讯完成时要拆除连接,由于TCP是面向连接的所以只能用于端到端的通讯。

TCP提供的是一种可靠的数据流服务,采用“带重传的肯定确认”技术来实现传输的可靠性。

TCP还采用一种称为“滑动窗口”的方式进行流量控制,所谓窗口实际表示接收能力,用以限制发送方的发送速度。

如果IP数据包中有已经封好的TCP数据包,那么IP将把它们向‘上’传送到TCP层。

TCP将包排序并进行错误检查,同时实现虚电路间的连接。

TCP数据包中包括序号和确认,所以未按照顺序收到的包可以被排序,而损坏的包可以被重传。

TCP将它的信息送到更高层的应用程序,例如Telnet的服务程序和客户程序。

应用程序轮流将信息送回TCP层,TCP层便将它们向下传送到IP层,设备驱动程序和物理介质,最后到接收方。

面向连接的服务(例如Telnet、FTP、rlogin、XWindows和SMTP)需要高度的可靠性,所以它们使用了TCP。

DNS在某些情况下使用TCP(发送和接收域名数据库),但使用UDP传送有关单个主机的信息。

TCP基础:

数据传输协议允许创建和维护与远程计算机的连接。

连接两台计算机就可彼此进行数据传输。

如果创建客户应用程序,就必须知道服务器计算机名或者IP地址(RemoteHost属性),还要知道进行“侦听”的端口(RemotePort属性),然后调用Connect方法。

如果创建服务器应用程序,就应设置一个收听端口(LocalPort属性)并调用Listen方法。

当客户计算机需要连接时就会发生ConnectionRequest事件。

为了完成连接,可调用ConnectionRequest事件内的Accept方法。

建立连接后,任何一方计算机都可以收发数据。

为了发送数据,可调用SendData方法。

当接收数据时会发生DataArriva事件。

调用DataArrival事件内的GetData方法就可获取数据。

3简单远程控制系统总体结构

3.1系统规格说明

3.1.1简单远程控制系统的概貌

“简单远程控制系统的设计与实现”主要包含两个部分:

主控端和被控端。

主控端是运行在用户计算机上的一个程序,该端主要实现对被控端的控制,以实现对被控计算机关机、注销、重启以及向被控端发送消息等功能。

被控端是运行在目标计算机(被控计算机)上的一个程序,以提供该计算机的各种信息,以及提供实现主控端对其执行的各种操作。

3.1.2各模块功能要求

本系统在功能要求上主要实现的功能有:

主控端获取被控端计算机系统信息、对被控端鼠标和键盘的控制、对被控端的系统控制、对被控端的进程进行监控和控制以及对向被控端发送消息。

1.主控端获取被控端系统信息。

此模块的主要功能是主控端能通过此功能了解到被控计算机上的系统信息,为后面进一步的对被控端进行控制作一个简单的了解,也同时通过此功能对被控计算机上所安装的软、硬件进行了解,做到对被控计算机的了解程度跟了解本机一样。

2.对被控端鼠标和键盘的控制。

此模块主要实现主控端对被控计算机的鼠标和键盘的控制,包括对键盘和鼠标的开启和关闭。

3.对被控端的系统控制。

此模块主要实现对被控计算机的机器系统的控制,包括对被控计算机实施关闭计算机、重新启动被控端计算机以及注销被控端计算机目前使用的用户功能。

并且可以通过cmd命令打开和关闭windows程序。

做到使主控端用户在主控计算机上就能很容易的控制被控计算机的系统。

4.被被控端的进程进行监控和控制。

此模块主要实现主控计算机对被控计算机的所

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 其它模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1