基于CS模型的远程控制系统的设计.doc
《基于CS模型的远程控制系统的设计.doc》由会员分享,可在线阅读,更多相关《基于CS模型的远程控制系统的设计.doc(49页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、模板使用说明(请在使用前详细阅读此说明!)1、 各部分内容可以直接打字输入,也可使用粘贴功能,但要保证粘贴内容格式正确。2、 目录为自动生成模式,不要修改目录,论文完成后请右键单击目录区域,选择“更新域”即可。各级标题一定要使用相应标题格式,否则在目录里不能体现。3、 论文中各种行间距请自行调整。4、 如本模板和哈尔滨理工大学本科毕业设计(论文)撰写规范的规定不一至,以哈尔滨理工大学本科毕业设计(论文)撰写规范的规定为准。本模板仅供参考,请严格按照哈尔滨理工大学本科毕业设计(论文)撰写规范完成论文。如不会使用word的模板功能,请自行按哈尔滨理工大学本科毕业设计(论文)撰写规范完成论文。(请在
2、完成论文后,打印论文前,删除本页内容及后文批注!)基于C/S模型的远程控制系统的设计摘 要随着计算机信息现代化的发展,许多行业出现网上办公的特点,甚至越来越多的人选择在家中办公,足不出户完成工作。计算机信息技术加速了现代社会的经济发展,令电子商务活动变得更便捷。在现代计算机信息技术中,计算机远程控制系统越来越受到各方面的重视。计算机远程控制系统是控制远程计算机的网络通信程序。它是计算机科学与通信技术相结合的产物。这一技术在未来将会服务于工业领域、办公领域、通信领域、军事领域等。远程控制是在网络上由一台电脑(主控端Remote/客户端)远距离去控制另一台电脑(被控端Host/服务器端)的技术,这
3、里的远程不是字面意思的远距离,一般指通过网络控制远端电脑。本文主要分析了计算机远程控制系统的一些基本功能和组成,并进行具体研究和设计。主要包括系统的需求分析,系统的结构,整个系统的总体设计,功能模块设计等,同时简要介绍了TCP通信协议和开发平台以及相关函数,并且分析了C/S模型的特点。本系统采用Visual Studio 2008开发工具,针对控制对象的具体特点,搭建了基于C/S模型的远程控制系统,然后根据该系统的具体要求,实际分析,采用了TCP/IP的网络通信协议。结合Socket API和MFC技术来开发代码最终实现本系统。本课题主要应用了以下技术,如:异步模式soket、面向对象编程的思
4、想、多线程、图片传输等技术。整个系统操作简单,界面简洁,功能实用强大,实现了对客户端的屏幕监控,文件和文件夹的新建和删除,以及客户端文件的上传下载,进程管理,系统服务状态查看,远程关机或者注销重启,基本完成了远程控制系统中的主要功能。关键词C+;C/S模型;TCP协议;远程控制系统The researching of the Remote Control System based on by C/S moduleAbstractClick here and input abstract in EnglishKeywordsElectric machine, motor, magnetic fi
5、eld, fault analysis不要删除行尾的分节符目 录摘要IAbstractII第1章 绪论11.1 课题研究目的和意义11.2 国内外研究现状分析21.3 论文研究的主要内容31.4 本章小结4第2章 开发平台基础知识52.1 C+语言52.2 OOP简介52.3 MFC62.4 Visual C+集成开发环境72.5 网络通信基础82.5.1 ISO 七层模型82.5.2 七层OSI参考模型的作用102.6 Client和Server112.6.1 Client/Server简介112.6.2 Client/Server简介122.7 事件驱动的程序设计122.8 本章小结14第
6、3章 需求分析153.1 系统可行性分析153.2 系统基本功能153.3 功能需求分析163.4 本章小结18第4章 详细设计194.1 开发环境194.2 客户端与服务器连接设计194.2.1 服务器端实现原理194.2.2 客户端实现原理204.2.3 数据流实现原理204.2.4 与服务器端相关 的API204.2.5 客服端要使用的API244.3 系统各个模块的设计254.3.1 屏幕监控模块254.3.2 文件管理模块274.3.3 进程管理模块274.3.4 远程执行命令CMD模块284.3.5 线程与进程304.3.6 创建线程所使用的API314.3.7 消息模拟324.4
7、 本章小结34结论36致谢37参考文献38附录A40附录B41附录C43千万不要删除行尾的分节符。在目录上点右键“更新域”,然后“更新整个目录”。打印前,不要忘记把上面“Abstract”这一行后加一空行第1章 绪论1.1 课题研究目的和意义21世纪我国的信息化产业突飞猛进,网络技术发展日新月异。随着运营商网络质量质量的提高和资费的降低,更加促进了互联网的蓬勃发展。对个人来说,网络社交软件、网络搜索引擎、网上交易平台、以及O2O平台已经融入人们的生活,网络贯穿平时的衣食住行并为人们提供了方便快捷的服务。对于工业和制造业,在电商平台和物流业的有力支撑下,全球化已然成为各大跨国制造巨头占领世界市场
8、的首要策略。而随着企业间的相互竞争程度不断扩大,产品的成本和品质的控制以及服务质量逐渐成为了一个企业在这场战役中取胜的关键因素之一。传统的品质控制,当用户反馈设备或软件问题时,技术人员出差来客户现场来进行排查问题,解决问题后回到公司,此种方式人员成本和差旅成本过高,而且由于全球化的原因,产品的最终客户遍布在世界各地,无法在各个地域及地区的用户附近都配置专业的品质控制服务人员,因此,迫切需要一些介于他们与客户之外的本地的第三方品质控制服务。为了应对这种日益增长的第三方品质控制服务的需要,建立一个覆盖范围广泛的远程控制系统是十分有必要的。随着互联网的高速发展,远程控制技术作为生活生产中极其重要的技
9、术,正逐步被人们所认识。通过远程控制系统,公司总部的设备维修专家们不需要亲临现场就能够了解到现场的情况,通过远程控制系统操作用户的电脑,就像直接操作本地电脑一样,只需要用户的简单帮助就可以得到该机器存在的问题的第一手材料,很快就可以找到问题的所在,并加以解决。既节约了人力和差旅成本,又提高了双方的沟通交流效率,更快更有效率的帮助客户解决生产过程中的问题。对于网络管理人员来说,在整个网络运行期间,希望能够实时了解每一台联网计算机的运行状态并进行一些相关操作,希望能够客户机和主机之间互相传送文件;希望能够防止病毒的蔓延、非法程序的拷贝、禁止某些用户的越权或非法操作等。教师和学生之间可以利用这种远程
10、控制技术实现教学问题的交流,学生可以不用见到老师,就得到老师手把手的辅导和讲授。学生还可以直接在电脑中进行习题的演算和求解,在此过程中,教师能够轻松看到学生的解题思路和步骤,并加以实时的指导。基于以上需求,研究并实现一款远程控制软件是很有意义的,同时能在现实生活中为人们提供更多的便捷。1.2 国内外研究现状分析随着互联网技术的迅速发展,远程控制技术已经日臻完善。远程控制技术是国内外研究的前沿课题,国内外都展开了积极的研究。电脑端的远程控制技术,始于DOS时代,只不过当时网络不发达,市场没有更高的要求,所以远程控制技术没有引起更多人的注意。但是,随着网络的高速发展,电脑的管理及技术支持的需要,远
11、程操作及控制技术越来越引起人们的关注。远程控制一般支持下面的这些网络方式:LAN、WAN、拨号方式、互联网方式。此外,有的远程控制软件还支持通过串口、并口、红外端口来对远程机进行控制。传统的远程控制软件一般使用TCP/IP等协议来实现远程控制,不过,随着网络技术的发展,目前很多远程控制软件提供通过Web端或者手机端来远程控制电脑,如Android手机远程控制电脑,web页面远程控制电脑等是当前远控软件发展的趋势。国外软件行业发展和积累多年,不管是网络技术和工业技术都发展迅速,从而促进了远程控制技术的不断崛起,获得了不少技术专利和成果。1997年1月,首届基于Internet的远程监控诊断工作会
12、议由斯坦福大学和麻省理工学院联合主办,由来自30多个公司和研究机构的50多位代表到会。会议主要讨论了有关远程监控系统开放式体系、诊断信息规程、传输协议及对用户的合法限制等,并对未来技术发展做了展望。由斯坦福大学和麻省理工学院合作开发的基于Internet的下一代远程控制诊断示范系统,得到了制造业、计算机业和仪表业的大力支持和通力配合。又如美国伯克利大学实验室自主研发的远控机器手臂来模拟人手种植花卉。世界闻名的德国产品TeamViewer,一款可以穿透防火墙以及NAT的远程控制、桌面分享、文件传输的远程控制软件,其在桌面分享时画面流畅度清晰度很高,在视频以及语音的传输协议设计以及传输算法进行了极
13、大的优化,该软件第一次启动在两台计算机上自动生成伙伴ID。只需要输入你的伙伴的ID到TeamViewer,然后就会建立起连接。这些方面性能超过其他同类软件。国内远程控制技术虽然起步比较晚,但是也取得了一些不俗的研究成果和成绩。第一代远控软件产生于2001年,“灰鸽子”采用Delphi语言编写,具备键盘记录,屏幕录取,文件上传和下载,以及开启摄像头等功能,后因开放源代码导致衍生软件覆盖面广,大大危害了互联网的安全,不过现在主流的杀毒软件都能识别并杀出“灰鸽子”远控软件。第二代远控是在第一代基础上不断升级网络模型,从Select模型到完成端口+线程池技术,并将以前的ip上线方式改成了域名上线方式,
14、重点升级了过杀软的技术和能力。国内的向日葵远程控制,虽然在速度以及流畅度方面逊色于TeamViewer,但是比TeamViewer的功能丰富和强大。在软件的本地化方面,也更加符合国内使用者的使用习惯,得到了很多国内用户的喜欢。另外国内的网络人远程控制软件,人气至今名列前茅。该软件是国内唯一一款获得国家公安部认证的远程控制软件,并且获得各大权威杀毒软件的安全认证。开创了多重密码嵌套技术,令使用用户得到网银级别的安全加密。这是由于使用了U盾加密技术。远程控制具有优点:便于用户能够在任何地方通过网络及时,快速的访问,控制自己的主机。当然,远程控制软件是一把双刃剑,有优点就会有缺点,它存在比较严重的安
15、全隐患。一方面给用户和网络管理员工作带了很大的方便,另一方面也给一些居心不良者留下后门。形成很多木马程序。这就需要对软件在设计架构时考虑到安全方面。1.3 论文研究的主要内容远程控制是在网络上由一台电脑(主控端Remote/客户端)去控制另一台电脑(被控端Host/服务器端)的技术,大多数时候我们所说的远程控制往往指在局域网中的远程控制而言。当操作者使用主控端电脑控制被控端电脑时,可以启动被控端电脑的应用程序,可以使用被控端电脑的文件资料,甚至可以利用被控端电脑的打印机和通信设备来进行打印和访问互联网。本论文的研究内容为:本系统是基于Windows Socket 网络编程技术,采用C/S(客户
16、端/服务端)模式,在C+软件开发平台上设计的一个系统。根据需要及应用定位,通过几种计算机远程控制关键技术,并通过编程实现客户机对服务端远程控制的基本功能,如获取目标计算机的屏幕图像、窗口、及进程列表,提取远端键盘事件,打开、关闭、添加、删除目标计算机的文件或文件目录,控制目标计算机鼠标移动,上传下载文件,关闭、重起系统等,使操作远程计算机如操作本地计算机一样。本系统有以下优点:方便,可靠,操作简单,使用高效,稳定性,安全性,可扩展性良好。通过这些部分的可视化实现,可以实现像操作本地计算机一样对远程计算机进行操作,达到监控的目的。1.4 本章小结本章主要介绍了课题的选题背景、目的和意义,然后对国
17、内外远程控制技术的发展历史进行了总结,并简要分析了有代表性的国内外远程控制软件。如德国的TeamViewer,中国的灰鸽子软件和网络人软件。最后介绍了本文的主要研究内容。第2章 开发平台基础知识2.1 C+语言本开发平台采用的编程语言是C+语言。和C语言一样,C+也是在贝尔实验室诞生的,Bjarne Stroustrup于20世纪80年代在这里开发出了这种语言。C+语言是一种使用非常广泛的电脑程序设计语言,是在C语言的基础上发展演变而来的。它是一种静态数据类型检查的、支持多范型的通用程序设计语言。C+支持过程化程序设计、数据抽象化、面向对象程序设计、泛型程序设计、基于原则设计等多种程序设计风格
18、。C+语言既保留了C语言的有效性、灵活性、便于移植等全部精华和特点,又添加了面向对象编程的支持,具有强大的编程功能,可方便地构造出模拟现实问题的实体和操作;编写出的程序具有结构清晰、易于扩充等优良特性,适合于各种应用软件、系统软件的程序设计。用C+编写的程序可读性好,生成的代码质量高,运行效率仅比汇编语言慢10%20%。C+语言具有以下特点: 1.C+是C语言的超集。它既保持了C语言的简洁、高效和接近汇编语言等特点,又克服了C语言的缺点,其编译系统能检查更多的语法错误,因此,C+比C语言更安全。2.C+保持了与C语言的兼容。绝大多数C语言程序可以不经修改直接在C+环境中运行,用C语言编写的众多
19、库函数可以用于C+程序中。3. 支持面向对象程序设计的特征。C+既支持面向过程的程序设计,又支持面向对象的程序设计。4.C+程序在可重用性、可扩充性、可维护性和可靠性等方面都较C语言得到了提高,使其更适合开发大中型的系统软件和应用程序。5.C+设计成静态类型、和C同样高效且可移植的多用途程序设计语言。6.C+设计成直接的和广泛的支援多种程序设计风格(程序化程序设计、资料抽象化、面向对象程序设计、泛型程序设计)。7.C+设计成给程序设计者更多的选择,即使可能导致程序设计者选择错误。8.C+设计成尽可能与C兼容,籍此提供一个从C到C+的平滑过渡。9.C+避免平台限定或没有普遍用途的特性。10.C+
20、不使用会带来额外开销的特性。11.C+设计成无需复杂的程序设计环境。2.2 OOP简介面向对象编程(Object Oriented Programming,OOP,面向对象程序设计)是一种计算机编程架构。OOP 的一条基本原则是计算机程序是由单个能够起到子程序作用的单元或对象组合而成。OOP 达到了软件工程的三个主要目标:重用性、灵活性和扩展性。为了实现整体运算,每个对象都能够接收信息、处理数据和向其它对象发送信息。OOP 主要有以下的概念和组件: 组件 数据和功能一起在运行着的计算机程序中形成的单元,组件在 OOP 计算机程序中是模块和结构化的基础。 抽象性 程序有能力忽略正在处理中信息的某
21、些方面,即对信息主要方面关注的能力。 封装 也叫做信息封装:确保组件不会以不可预期的方式改变其它组件的内部状态;只有在那些提供了内部状态改变方法的组件中,才可以访问其内部状态。每类组件都提供了一个与其它组件联系的接口,并规定了其它组件进行调用的方法。 多态性 组件的引用和类集会涉及到其它许多不同类型的组件,而且引用组件所产生的结果得依据实际调用的类型。 继承性 允许在现存的组件基础上创建子类组件,这统一并增强了多态性和封装性。典型地来说就是用类来对组件进行分组,而且还可以定义新类为现存的类的扩展,这样就可以将类组织成树形或网状结构,这体现了动作的通用性。2.3 MFCMFC是Microsoft
22、 Foundation Classes的缩写,是微软提供的windows平台下的应用程序框架,原理是将繁杂的Win32 API封装成类的形式,然后提供标准化的简单易用API接口,比如对窗口类的封装,消息映射机制;对画刷画笔字体及位图的封装等。减少了程序开发人员大量的重复性编码工作,使程序开发人员把更多的时间和精力放到程序设计和实现上,极大的提高了Windows平台下应用程序的开发效率。MFC类库中囊括了各种各样的类,而每个类包含多个函数和变量,平时开发中很少有人能全部记住,其实也不用去记忆MFC的函数和使用方法,微软提供了MSDN开发手册,在上面可以轻松的查到Windows开发平台下所有的ap
23、i,包括对函数的参数,返回值以及错误信息的解释,有的还附带示例代码帮助理解和使用。MFC的消息响应机制,初学者进行windows应用程序开发时,消息以及消息映射是个很重要的概念。Windows应用程序是消息驱动的,应用程序不能直接获取用户的操作,如点击鼠标左键,操作系统检测到操作事件后,会向相应的应用程序队列发送消息。Windows程序都维护有自己的消息队列,保存了队列消息(当然也有非队列消息,它们直接发给窗口),并用过消息循环对消息进行处理。消息循环首先通过 GetMessage取得消息并从队列中移走,对于加速键会调用TranslateAccelerator函数,对其进行翻译和处理,如果处理
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 CS 模型 远程 控制系统 设计
限制150内