计算机专业毕业设计基于CS模式的远程控制系统.docx

上传人:b****3 文档编号:4106353 上传时间:2023-05-06 格式:DOCX 页数:37 大小:278.21KB
下载 相关 举报
计算机专业毕业设计基于CS模式的远程控制系统.docx_第1页
第1页 / 共37页
计算机专业毕业设计基于CS模式的远程控制系统.docx_第2页
第2页 / 共37页
计算机专业毕业设计基于CS模式的远程控制系统.docx_第3页
第3页 / 共37页
计算机专业毕业设计基于CS模式的远程控制系统.docx_第4页
第4页 / 共37页
计算机专业毕业设计基于CS模式的远程控制系统.docx_第5页
第5页 / 共37页
计算机专业毕业设计基于CS模式的远程控制系统.docx_第6页
第6页 / 共37页
计算机专业毕业设计基于CS模式的远程控制系统.docx_第7页
第7页 / 共37页
计算机专业毕业设计基于CS模式的远程控制系统.docx_第8页
第8页 / 共37页
计算机专业毕业设计基于CS模式的远程控制系统.docx_第9页
第9页 / 共37页
计算机专业毕业设计基于CS模式的远程控制系统.docx_第10页
第10页 / 共37页
计算机专业毕业设计基于CS模式的远程控制系统.docx_第11页
第11页 / 共37页
计算机专业毕业设计基于CS模式的远程控制系统.docx_第12页
第12页 / 共37页
计算机专业毕业设计基于CS模式的远程控制系统.docx_第13页
第13页 / 共37页
计算机专业毕业设计基于CS模式的远程控制系统.docx_第14页
第14页 / 共37页
计算机专业毕业设计基于CS模式的远程控制系统.docx_第15页
第15页 / 共37页
计算机专业毕业设计基于CS模式的远程控制系统.docx_第16页
第16页 / 共37页
计算机专业毕业设计基于CS模式的远程控制系统.docx_第17页
第17页 / 共37页
计算机专业毕业设计基于CS模式的远程控制系统.docx_第18页
第18页 / 共37页
计算机专业毕业设计基于CS模式的远程控制系统.docx_第19页
第19页 / 共37页
计算机专业毕业设计基于CS模式的远程控制系统.docx_第20页
第20页 / 共37页
亲,该文档总共37页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

计算机专业毕业设计基于CS模式的远程控制系统.docx

《计算机专业毕业设计基于CS模式的远程控制系统.docx》由会员分享,可在线阅读,更多相关《计算机专业毕业设计基于CS模式的远程控制系统.docx(37页珍藏版)》请在冰点文库上搜索。

计算机专业毕业设计基于CS模式的远程控制系统.docx

计算机专业毕业设计基于CS模式的远程控制系统

基于C/S模式的远程控制系统

【摘要】:

在如今这个信息高速发达的时代,人们之间的物理距离虽无太大变化,然而逻辑距离却在一天天缩小。

同时,鉴于交通的繁忙,无纸办公和远程办公的趋势已然愈演愈烈!

远程控制应运而生。

本文首先介绍了系统分析方面的一些内容,紧接着开始介绍实现远程控制基础——Socket编程的基本概念,以及Windows的消息系统,接着从建立Socket套接字开始,经过逐个功能模块的分析实现,从命令控制到文件下载,到屏幕控制等。

然后重点介绍了屏幕控制和文件下载功能。

本系统在文件下载方面,采用了文件流stream的方式进行文件传输,首先是通过命令控制中的dir命令,获得文件路径和文件名,然后将文件名传到服务器端进行下载。

在屏幕控制方面,是由客户端发送命令src到服务器端,服务器响应后,进入相应的通讯进程。

客户端发出获取服务器屏幕图像数据的请求,把从服务器接收到的图像在本地实时显示出来,并且及时发送鼠标在本地显示图像的动作给服务器。

服务器则主要负责响应客户端的请求并抓取与发送屏幕图像,响应客户端发送过来的鼠标、键盘等的动作并反馈给客户端。

从而实现了对远程计算机的直接控制。

【关键词】:

C\S、Socket、TCP\IP、流

 

DesigningandRealizationofaRemoteControlSystem

Abstract:

Nowinthisinformationeraofhigh-speeddevelopedthephysicaldistancebetweenpeople,althoughdonothavetoobigchange,howeverlogicaldistancebutbynarrowing.Atthesametime,giventhebusytraffic,thepaperlessofficeandtelecommutingtrendhasintensified.Remotecontrolarisesatthehistoricmoment.

Withtherapiddevelopmentofnetworktechnologyandpopularizationofthenetworkinalltradesandprofessions,remotecontroltechnicalsupportwillgraduallyoccupythemainstreamtechnicalsupport.ThisarticleisaboutaWindowsbasedremotecontrolsystemdevelopedbyuseofthenetworkprogramming,themostcommonSockettechnologyandmulti-threadprogramming,etc.Andtheremotecontrolinvolvesthetechnologyandmethodforgradefunctionprototypedetailedexplanation,caneasilyunderstand.

ThispaperfirstintroducestorealizetheremotecontrolbasicsSocketbasicconceptsofprogramming,andthemessagesystem,thenWindowsSocketfromestablishingonebegins,goesthroughtheanalysisofthefunctionalmodulesfromthecommandcontroltorealize,filedownload,toscreencontroletc.Thenmainlyintroducesscreencontrolandfiledownloadfunction.

Thissysteminfiledownloadaspects,usingadocumentflowstreamwayfiletransfer,firstisthroughthedircommand,commandandcontrolgetfilepathandfilename,thenwillfilenametotheservertodownload.Inthescreencontrol,isbytheclientsendscommandsSRCtotheserver,serverresponse,intothecorrespondingcommunicationprocess.Theclientaccessserverscreenimagedatasentfromtherequest,theserverreceivesimagesinthelocalreal-timedisplayout,andtimelysendthemouseinlocaldisplayimagesactiontotheserver.Theserverismainlyresponsibleforresponsetoclientrequestandgrabandsendascreenimage,responsetoaclientsendingoverthemouse,keyboardactionsandfeedbacktotheclient.Andthusrealizesthedirectcontroloftheremotecomputer.

KeyWords:

C\S、Socket、TCP\IP、Stream

 

摘要…………………………………………………………………………1

Abstract…………………………………………………………………………2

引言…………………………………………………………………………6

一、系统分析(概要设计)………………………………………………………8

1.1系统需求分析……………………………………………………………8

1.2系统功能分析……………………………………………………………9

1.3系统软件模型……………………………………………………………10

二、系统体系结构设计(详细设计)……………………………………………10

2.1基本控制原理……………………………………………………………10

2.2命令控制模块……………………………………………………………10

2.3屏幕控制模块……………………………………………………………10

2.4鼠标控制模块……………………………………………………………11

2.5键盘控制模块……………………………………………………………11

2.6文件下载模块……………………………………………………………11

三、远程控制系统的实现………………………………………………………12

3.1Socket技术基本原理……………………………………………………12

3.1.1socket背景…………………………………………………………12

3.1.2Socket的三种类型…………………………………………………15

3.1.2.1流式套接字(STREAM)…………………………………………15

3.1.2.2数据报套接字(DGRM)…………………………………………15

3.1.2.3原始套接字(RAW)………………………………………………15

3.1.3Socket类中的常规函数调用…………………………………………15

3.1.3.1创建套接字………………………………………………………16

3.1.3.2服务器端地址绑定………………………………………………17

3.1.3.3建立套接字连接…………………………………………………17

3.1.3.4数据传输…………………………………………………………17

3.1.3.5关闭套接字……………………………………………………18

3.2.NET中的Socket编程………………………………………………18

3.3客户端实现……………………………………………………………19

3.3.1客户端界面设计…………………………………………………19

3.3.2连接远程主机……………………………………………………21

3.3.3发送命令…………………………………………………………22

3.3.4直接控屏…………………………………………………………22

3.3.5帮助………………………………………………………………24

3.4服务器端实现…………………………………………………………24

3.4.1进行监听、时刻准备连接………………………………………26

3.4.2程序设置自动运行………………………………………………26

3.4.3查看文件内容……………………………………………………28

3.4.4文件下载…………………………………………………………28

3.4.5远程重启、关机的实现…………………………………………28

3.4.6键盘和鼠标的控制………………………………………………30

3.4.7远程屏幕抓取的实现……………………………………………33

四、总结……………………………………………………………………36

结论……………………………………………………………………36

参考文献……………………………………………………………………36

致谢……………………………………………………………………37

 

引言

随着计算机网络的飞速发展以及网络技术的日益普及和大众化,人们可以很方便地从Internet上获取和自己工作生活密切相关的信息,世界也真正变成一个地球村,我们可以和世界上其他任何一个人通过计算机网络进行沟通,信息资源达到了高度的共享。

从这一点得到启发,希望能设计一个远程控制系统,通过它可以在家里控制办公室里的计算机。

如果你是软件开发商,你的员工可以通过它在办公室里远程为客户配置系统、对产品进行维护,如果客户向你报告软件产品出现问题你可以远程对产品进行调试,最终解决问题。

这样员工就不会因长期的劳苦奔波而抱怨,用户也不会因为你不能及时解决问题而和你讨价还价,当然,也为公司节约了人力、财力和物力。

远程控制是在网络上由一台电脑(主控端/客户端)远距离去控制另一台电脑(被控端/服务器端)的技术,这里的远程不是字面意思的远距离,一般指通过网络控制远端电脑,不过,大多数时候我们所说的远程控制往往指在局域网中的远程控制而言。

当操作者使用主控端电脑控制被控端电脑时,就如同坐在被控端电脑的屏幕前一样,可以启动被控端电脑的应用程序,可以使用被控端电脑的文件资料,甚至可以利用被控端电脑的外部打印设备(打印机)和通信设备(调制解调器或者专线等)来进行打印和访问互联网,就像你利用遥控器遥控电视的音量、变换频道或者开关电视机一样。

不过,有一个概念需要明确,那就是主控端电脑只是将键盘和鼠标的指令传送给远程电脑,同时将被控端电脑的屏幕画面通过通信线路回传过来。

也就是说,我们控制被控端电脑进行操作似乎是在眼前的电脑上进行的,实质是在远程的电脑中实现的,不论打开文件,还是上网浏览、下载等都是存储在远程的被控端电脑中的。

计算机中的远程控制技术,始于DOS时代,只不过当时由于技术上没有什么大的变化,网络不发达,市场没有更高的要求,所以远程控制技术没有引起更多人的注意。

但是,随着网络的高度发展,电脑的管理及技术支持的需要,远程操作及控制技术越来越引起人们的关注。

远程控制一般支持下面的这些网络方式:

LAN、WAN、拨号方式、互联网方式。

此外,有的远程控制软件还支持通过串口、并口、红外端口来对远程机进行控制(不过,这里说的远程电脑,只能是有限距离范围内的电脑了)。

传统的远程控制软件一般使用NETBEUI、NETBIOS、IPX/SPX、TCP/IP等协议来实现远程控制,不过,随着网络技术的发展,目前很多远程控制软件提供通过Web页面以JAVA技术来控制远程电脑,这样可以实现不同操作系统下的远程控制,例如数技通科技有限公司推出的全球第一套基于中文JAVA的跨平台远程控制软件——易控。

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

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

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

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

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

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

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

远程控制具有一下优点:

便于用户能够在任何地方通过网络及时,快速的访问,控制自己的主机。

特别是对于网络管理员,技术服务人员来说,远程控制提供了一个便捷,高效的手段。

当然,远程控制软件是一把双刃剑,有优点就会有缺点,它存在比较严重的安全隐患。

一方面给用户和网络管理员工作带了很大的方便,另一方面也给一些居心不良者留下后门。

形成很多木马程序。

这就需要对软件在设计方面做一些安全考虑。

一、系统分析

1.1系统需求分析

如今的网络,可以说已经覆盖了各行各业,不论是有这方面基础知识的,还是没有的,都在使用它。

这样一来,在使用过程中,就难免会出些问题,有能力解决的,自然无所谓。

而那些不具备解决这方面问题能力的人或企业,在出了问题之后则会显得相对紧张些,甚至是恐慌。

因为企业的运转与这方面是紧密相连的,它出了问题,企业也就如机器失去电源般,无法运转了。

这个时候,企业自然会想到软件提供商们,而这样的问题由他们来负责解决也确实无可厚非。

但是,那些软件提供商们,总不能一天到晚常驻这些企业里,因此正常解决起来,并没有想象中那么及时。

可是,如果我们拥有远程控制的话,一切就迎刃而解了。

通过远程控制,软件提供商方面的技术人员,可以在自己的办公室里操作企业的机器,从而解决问题。

为企业减少了损失,也为自己减少了一些不必要的开支,还能提升自己在客户心目中的企业形象,一举数得,何乐而不为?

远程控制,顾名思义,就是像操作自己电脑一样,去远距离操控另一台电脑。

很显然,这样的系统,一般就是采用C/S模式或者B/S模式。

网络应用程序的基本开发模式是C/S模式,其系统结构式指把一个大型的计算机应用系统变为多个能互为独立的子系统。

服务器是整个应用系统资源的存储与管理中心,多台客户机则各自处理相应的功能,共同实现完整的应用。

C/S模式一般基于传输层的TCP协议实现。

主要特点是交互性强、具有安全的存取模式、网络通信量低、相应速度快、利于处理大量数据。

但该结构的程序是针对性开发,变更不够灵活,维护和管理的难度较大,通常只局限于小型局域网,不利于扩展,分布功能弱且兼容性差,缺少通用性。

要求具有一定专业水准的技术人员去完成。

而B/S模式则是一种特殊的C/S模式,它用通用的浏览器程序和Web服务器分别代替了专用的客户端程序和服务器端程序,简化了C/S模式的应用。

B/S模式简化了客户端,不需要在客户端安装特定应用程序,系统维护只需在Web服务器端进行,分布性强、维护方便、可扩展性好。

但是B/S模式的实现是基于应用层的HTTP协议,传输数据中包含了大量的传输控制信息,有效数据的传输效率较低,数据安全性不强,不能满足远程控制系统在性能方面的要求。

因此,相较之下,本系统采用C/S开发模式(Client/Server)。

它由客户端与服务端两部分构成。

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

其系统结构如下图1所示:

1.2系统功能分析

本软件是由客户端和服务器端两部分组成的。

而且需要客户端和服务器端同时运行相应的程序来实现。

本软件要实现的基本功能可以简化如下:

第一步,服务器端运行相应的远程控制软件服务器程序,使服务器端的某个端口处于监听状态(本软件端口设置为7068)。

这样服务器端计算机就时刻处于监听远程计算机连接请求的状态。

第二步,当服务器端程序运行后,客户端在本地计算机中运行相应程序的客户端程序,运行这个客户端程序时,会指定一个要连接的服务器的IP地址和端口,(本软件要求输入服务端IP地址,端口是默认的7068。

原则上不允许用户更改端口),程序运行后,点击连接就会向所在网络搜索指定的计算机了。

第三步,搜索到所指定的计算机后,客户端计算机就向服务器端指定的端口发送连接请求(本软件使用TCP连接),如果服务器端计算机同一端口处于监听状态,则服务器端接收客户端的连接请求,并根据设定的值向客户端发送接受请求确认信号,并同时向客户端发出登录成功信息,客户端显示连接成功确认对话框。

第四步,连接成功后,就可以进行命令控制、屏幕控制以及文件下载了。

1.3系统软件模型

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

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

结构如图2所示:

二、系统体系结构设计

2.1基本控制原理

该远程控制系统由服务器端和客户端两个部分组成,客户端可以通过鼠标和键盘以及相应的命令控制服务器端的计算机。

实现远程控制的机理是,受控机运行一个程序,用于侦听端口并接受数据包,而控制方通过端口给受控方的端口发送数据包。

一共需编写两个程序,一个是控制方,另一个则是受控方,受控机等待控制机发送过来的指令然后执行相应的操作。

2.2命令控制模块

此模块直接接受DOS命令,另外自定义了三个命令src(屏幕控制)、Close(关闭套接字)和DownLoad(文件下载)。

2.3屏幕控制模块

可以让客户端用户实时监控服务器端计算机的运行状态。

客户端以一定的频率向服务器发送请求,服务器响应客户端的请求将自己的屏幕拷贝下来并将这些信息发送给客户端,客户端接收到这些信息之后以图像的形式显示出来,为鼠标和键盘控制提供图形化接口。

2.4鼠标控制模块

可以让客户端用户通过鼠标控制服务器端的计算机。

其实现过程是客户端软件先捕捉鼠标在图形化接口(屏幕控制模块提供的)中的动作,再将这些信息发送到服务器端,最后服务器端的服务程序向操作系统(并不是自己处理)发送这个动作的消息,这样就如同在服务器端的操作系统上进行了相应的鼠标操作。

2.5键盘控制模块

可以让客户端用户通过键盘控制服务器端计算机的输入,其实现过程是客户端软件先捕捉键盘在图形化接口中的动作,再将这些信息发送到服务器端,服务器端的服务程序向操作系统发送这个动作的消息,这样就如同在服务器端的操作系统上进行了相应的键盘输入。

这样一来,如果服务器端的“MicrosoftWord”为当前的活动窗口,则客户端的键盘操作就如同有人在服务器端利用“MicrosoftWord”进行文字编辑一样。

屏幕控制、键盘控制和鼠标控制模块是在网络状况较好的情况下才会有较快的响应速度,如果网络状况不好将采用命令控制模块进行远程控制模块进行远程控制。

这种控制方式有较多的限制,需要根据具体的需求进行设计。

2.6文件下载模块

可以让客户端用户下载服务端的相关文件。

客户端用户,只需传一个文件路径至服务端,软件会自动给文件路径加上前缀”download_”,服务器端收到带前缀”download_”的消息时,便会自动去解析文件名并下载至用户指定的客户端文件路径中。

整个系统结构如下所示:

三、远程控制系统的实现

3.1Socket技术基本原理

网络客户/服务器模式的原理是一台主机提供服务(服务器),另一台主机接受服务(客户机)。

作为服务器的主机打开一个端口并进行监听,如果有客户机向服务器的这一端口提出连接请求,服务器上的相应程序就会自动运行,来应答客户机的请求。

而Socket的正确使用,给设计者带来了极大的方便,使得各种应用程序能够在Windows环境下顺利进行各种网络通讯。

3.1.1Socket背景

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

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

这个API就称为Socket接口。

今天,Socket接口是TCP/IP网络最通用的API,也是在Internet上进行应用开发最为通用的API。

实际上,Socket在计算机中提供了一个通信端口(ip:

port)。

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

通信的基础是套接字。

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

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

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

应用程序在网络上传输、接收的信息都通过这个套接字来实现。

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

开始使用套接字编程之前,首先必须建立这些概念:

网间进程通讯,服务方式,客户机/服务器模式。

进程通信的概念最初来源于单机系统。

由于每个进程都在自己的地址范围内运行,为保证相互通信的进程之间既互不干涉又能协调一致工作,操作系统为进程通信提供了相应设施,如UNIXBSD中的管道(Pipe)、命名管道(NamedPipe)和软中断信号(Signal)、UNIXSystemV的消息(Message)、共享存储区(SharedMemory)和信号量(Semaphore)等,但都仅限于用在本机进程之间的通信。

网间进程通信要解决的是不同计算机进程间的相互通信问题(可把同机进程通信看成是其中的一

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

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2