毕业设计(论文)-基于CS模型的远程控制系统的设计.docx_第1页
毕业设计(论文)-基于CS模型的远程控制系统的设计.docx_第2页
毕业设计(论文)-基于CS模型的远程控制系统的设计.docx_第3页
毕业设计(论文)-基于CS模型的远程控制系统的设计.docx_第4页
毕业设计(论文)-基于CS模型的远程控制系统的设计.docx_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

哈尔滨理工大学学士学位论文哈 尔 滨 理 工 大 学毕 业 设 计题 目: 院 、 系: 姓 名: 指导教师: 系 主 任: 年 月 日- III -基于C/S模型的远程控制系统的设计摘 要随着计算机信息现代化的发展,许多行业出现网上办公的特点,甚至越来越多的人选择在家中办公,足不出户完成工作。计算机信息技术加速了现代社会的经济发展,令电子商务活动变得更便捷。在现代计算机信息技术中,计算机远程控制系统越来越受到各方面的重视。计算机远程控制系统是控制远程计算机的网络通信程序。它是计算机科学与通信技术相结合的产物。这一技术在未来将会服务于工业领域、办公领域、通信领域、军事领域等。远程控制即在Internet上实现电脑间(有主控和被控之分)的远程操控的技术,此处所言的远程并不能以望文生义的方式去理解,通常它指的是依据Internet进行另一端电脑的操控。本文核心研究了计算机远程控制系统的一些基本功能和组成,并进行具体研究和设计。主要包括系统的需求分析,系统的结构,整个系统的总体设计,功能模块设计等,同时简要介绍了TCP通信协议和开发平台以及相关函数,并且分析了C/S模型的特点。本系统采用Visual Studio 2008开发工具,针对控制对象的具体特点,搭建了基于C/S模型的远程控制系统,然后根据该系统的具体要求,实际分析,采用了TCP/IP的网络通信协议。结合Socket API和MFC技术来开发代码最终实现本系统。本课题主要应用了以下技术,如:异步模式soket、面向对象编程的思想、多线程、图片传输等技术。整个系统操作简单,界面简洁,功能实用强大,实现了对客户端的屏幕监控,文件和文件夹的新建和删除,以及客户端文件的上传下载,进程管理,系统服务状态查看,远程关机或者注销重启,基本完成了远程控制系统中的主要功能。关键词C+;C/S模型;TCP协议;远程控制系统The researching of the Remote Control System based on by C/S moduleAbstractWith the development of modern computer information, many industry appears the characteristics of online office, even more and more people in the home office, staying at home to complete the work. Computer information technology to accelerate the economic development of modern society, so that e-commerce activities become more convenient. In the modern computer information technology, the computer remote control system receives more and more attention. The computer remote control system is a network communication program that controls the remote computer. It is a combination of computer science and communication technology. This technology in the future will be in the field of industry, office, communications, military fields, etc. Remote control is in the Internet to realize computer (master and the controlled points) of the remote control technology, here said the remote and not to take the words too literally to understand, usually what it refers to is based on the Internet computer at the other end of the control. In this paper, the core of the computer remote control system of some basic functions and composition, and the specific research and design. Including system requirements analysis, system structure, the system overall design, function module design, along with a brief description of the TCP communication protocol, and the development platform and related function, and analyses the characteristics of C / S model. This system using Visual Studio 2008 development tools, according to the specific characteristics of the controlled object, to build a remote control system based on C / S model and according to the specific requirements of the system, the actual analysis, using the TCP / IP network communication protocol. Combining API Socket and MFC technology to develop the code to achieve the final system. This topic mainly uses the following technologies, such as: asynchronous mode soket, the idea of object-oriented programming, multi threading, image transmission technology. The system has the advantages of simple operation, the interface is simple, powerful and practical functions, the realization of the client screen monitoring, files and folders to create and delete, and client file upload and download, process management, system services, the state view, restart the remote shutdown or cancellation, and basically complete the remote control system of main function.KeywordsElectric machine, motor, magnetic field, fault analysis目 录摘 要IAbstractII第1章 绪论11.1 课题研究目的和意义11.2 国内外研究现状分析11.3 论文研究的主要内容21.4 本章小结3第2章 开发平台基础知识42.1 C+语言42.2 OOP简介42.3 MFC52.4 Visual C+集成开发环境52.5 网络通信基础62.5.1 ISO 七层模型62.5.2 七层OSI参考模型的作用72.6 Client和Server72.6.1 Client/Server简介72.6.2 Client/Server简介82.7 事件驱动的程序设计82.8 本章小结10第3章 需求分析113.1 系统可行性分析113.3.1 系统基本功能113.3.2 远程教育113.3.3 远程维护113.3.4 远程协助113.3.5 远程指挥113.2 功能需求分析113.3.1 文件管理功能123.3.2 屏幕查看和监控功能123.3.3 进程管理功能123.3.4 Cmd远程命令行执行123.3 本章小结13第4章 详细设计144.1 开发环境144.2 客户端与服务器连接设计144.2.1 服务器端实现原理144.2.2 客户端实现原理144.2.3 数据流实现原理144.2.4 与服务器端相关的API154.2.5 客服端要使用的API174.3 系统各个模块的设计184.3.1 屏幕监控模块184.3.2 文件管理模块204.3.3 进程管理模块204.3.4 远程执行命令CMD模块214.3.5 线程与进程234.3.6 创建线程所使用的API234.3.7 消息模拟244.4 本章小结25结论26致谢27参考文献28附录A29附录B30附录C31- VI -第1章 绪论1.1 课题研究目的和意义21世纪我国的信息化产业突飞猛进,网络技术发展日新月异。随着运营商网络质量质量的提高和资费的降低,更加促进了互联网的蓬勃发展。对个人来说,网络社交软件、网络搜索引擎、网上交易平台、以及O2O平台已经融入人们的生活,网络贯穿平时的衣食住行并为人们提供了方便快捷的服务。对于工业和制造业,在电商平台和物流业的有力支撑下,全球化已然成为各大跨国制造巨头占领世界市场的首要策略。而随着企业间的相互竞争程度不断扩大,产品的成本和品质的控制以及服务质量逐渐成为了一个企业在这场战役中取胜的关键因素之一。传统的品质控制,当用户反馈设备或软件问题时,技术人员出差来客户现场来进行排查问题,解决问题后回到公司,此种方式人员成本和差旅成本过高,而且由于全球化的原因,产品的最终客户遍布在世界各地,无法在各个地域及地区的用户附近都配置专业的品质控制服务人员,因此,迫切需要一些介于他们与客户之外的本地的第三方品质控制服务。为了应对这种日益增长的第三方品质控制服务的需要,建立一个覆盖范围广泛的远端操控体系极其关键。在Internet迅猛发展的形势下,该技术作为生活生产中极其重要的技术,正逐步被人们所认识。通过远程控制系统,公司总部的设备维修专家们不需要亲临现场就能够了解到现场的情况,通过该体系进行使用人员电脑的操控,就如同以直观的方式进行本地电脑的操控,使用人员无需花费什么功夫,就能够获取这一机器故障所在的首要信息内容,快速判断故障的根源,进而加以处理。既节约了人力和差旅成本,又提高了双方的沟通交流效率,更快更有效率的帮助客户解决生产过程中的问题。对于网络管理人员来说,在整个网络运行期间,希望能够实时了解每一台联网计算机的运行状态并进行一些相关操作,希望能够客户机和主机之间互相传送文件;希望能够防止病毒的蔓延、非法程序的拷贝、禁止某些用户的越权或非法操作等。师生间能够借助于该技术方法达成教学问题的交互,学生无需同教师面对面,就能够获取教师亲自传授的知识。学生还能够以直观的方式在PC端推算题目,求得结果,在这一阶段,老师轻易就能够得知学生,在做题当中的思维脉路以及计算该法,进而可以及时进行辅导。基于以上需求,研究并实现一款远程控制软件是很有意义的,同时能在现实生活中为人们提供更多的便捷。1.2 国内外研究现状分析Internet技术的迅猛发展,也推动了该项技术的日趋成熟。该项技术是全球分析的先进课题,全球的科研人员都在非常投入地分析。电脑端的远程控制技术,始于DOS时代,只是那个时期Internet技术还不成熟,市场没有出具相应的高标准,因此该项技术尚未吸引大量人群的关注。不过在Internet技术的日趋完善的形势下,PC管理以及技术后盾的需求,该技术开始得到了广大人群的重视。它通常兼容于以下这些方案:LAN、WAN、拨号以及互联网方案。另外,部分远端操控软件还兼容以串、并口以及红外端口的方式进行远端操控1。传统的远程控制软件一般使用TCP/IP等协议来达成无端操控,但是,在Internet技术的推动下,当下大量远端操控软件出具经由Web端或者手机端来远程控制电脑,如Android手机远程控制电脑,web页面远程控制电脑等是当前远控软件发展的趋势2。国外软件行业发展和积累多年,不管是网络技术和工业技术都发展迅速,从而促进了远程控制技术的不断崛起,获得了不少技术专利和成果。Stanford University和Massachusetts Institute of Technology于1997年1月,共同创办了第一届以Internet的远端操控诊断为基础的工作会议,参与人员包括来自30余家企业以及分析单位的50余名代表。会上核心探讨了同无端操控系统相关的开放式系统、诊断信息规章流程、传递协议连同针对使用人员的合理权限等,同时也前瞻了将来的技术发展趋势。两所著名深夜联合研发了以互联网为基础的下一代无端操控诊断示范体系,获得了计算机业、仪表业以及制造业的大力支持和通力配合3。又如美国伯克利大学实验室自主研发的远控机器手臂来模拟人手种植花卉。世界闻名的德国产品TeamViewer,一款可以穿透防火墙以及NAT的远程控制、桌面分享、文件传输的远程控制软件,其在桌面分享时画面流畅度清晰度很高,在视频以及语音的传输协议设计以及传输算法进行了极大的优化,这一软件首次触动在两台PC上自发产生伙伴ID。只键入你的合伙人的ID至TeamViewer,随后就能够进行信息传输。这些方面性能超过其他同类软件。国内远程控制技术虽然起步比较晚,但是也取得了一些不俗的研究成果和成绩。第一代远控软件产生于2001年,“灰鸽子”采用Delphi语言编写,具备键盘记录,屏幕录取,文件上传和下载,以及开启摄像头等功能,后因开放源代码导致衍生软件覆盖面广,大大危害了互联网的安全,不过现在主流的杀毒软件都能识别并杀出“灰鸽子”远控软件。第二代远控是在第一代基础上不断升级网络模型,从Select模型到完成端口+线程池技术,并将以前的ip上线方式改成了域名上线方式,重点升级了过杀软的技术和能力4。国内的向日葵远程控制,虽然在速度以及流畅度方面逊色于TeamViewer,但是比TeamViewer的功能丰富和强大。在软件的本地化方面,也更加符合国内使用者的使用习惯,得到了很多国内用户的喜欢。另外国内的网络人远程控制软件,人气至今名列前茅。该软件是国内唯一一款获得国家公安部认证的远程控制软件,并且获得各大权威杀毒软件的安全认证。开创了多重密码嵌套技术,令使用用户得到网银级别的安全加密。这是由于使用了U盾加密技术5。远程控制具有优点:便于用户能够在任何地方通过网络及时,快速的访问,控制自己的主机。当然,远程控制软件是一把双刃剑,有优点就会有缺点,它存在比较严重的安全隐患。一方面给用户和网络管理员工作带了很大的方便,另一方面也给一些居心不良者留下后门。形成很多木马程序。这就需要对软件在设计架构时考虑到安全方面。1.3 论文研究的主要内容无端操控即在Internet上能过主控的PC进行被控端PC的操控,大部分时期,我们所谓的无端操控通常是基于局域网环境下的远端操控。如果操控人员通过主控端PC操控被控端PC期间,能够触发被控端PC的应用程序,进而能够运用其相关信息文档,及至能够借助于其打印设施备来进行打印和访问互联网。本论文的研究内容为:本系统是基于Windows Socket 网络编程技术,采用C/S(客户端/服务端)模式,在C+软件开发平台上设计的一个系统。根据需要及应用定位,借助于PC端操控的核心技术以及程序的编写来达成客户电脑同服务端操控的基础功能,比方说获得被操控方屏幕图像、界面及进度列表,获取被操控方的键盘事件,开启、关掉、新增、删掉被操控方的文档信息,操控被操控端的鼠标,并进行相关操作,完成文件的upload以及download的操作,关掉或重新启动体系等,进而让操控远端PC就跟操控本地PC没什么区别。本系统有以下优点:方便,可靠,操作简单,使用高效,稳定性,安全性,可扩展性良好。通过这些部分的可视化实现,可以实现像操作本地计算机一样对远程计算机进行操作,达到监控的目的。1.4 本章小结本章主要介绍了课题的选题背景、目的和意义,然后对国内外远程控制技术的发展历史进行了总结,并简要分析了有代表性的国内外远程控制软件。如德国的TeamViewer,中国的灰鸽子软件和网络人软件。最后介绍了本文的主要研究内容。- 3 -第2章 开发平台基础知识2.1 C+语言本开发平台采用的编程语言是C+语言。和C语言一样,C+也是在贝尔实验室诞生的,Bjarne Stroustrup于20世纪80年代在这里研发出了该语言。C+作为一种电脑程序设计语言,应用非常普及,它是基于C语言得以改进形成的。它能够以非动态的方式进行数据类型的检验,并兼容多种类型的语言。它还兼容于多样化的设计方式如数据抽象化、对象导向型程序设计以及过程化程序设计等。它不但保持了原有C语言高效、灵便性的优势,且新增了以对象为导向的程序编写的帮助作用,能够建立出仿效实际问题的具体对象以及操作,有着更加给力的功用;而且生成的程序以层次上更为明了、可轻易实现拓展功能等多方面的优势,在多种软件以及程序设计中都能够适用。用C+编写的程序可读性好,生成的代码质量高,运行效率仅比汇编语言慢10%20%。C+语言具有以下特点: 1 C+是C语言的超集。它不但保留有原有的简单、效率高以及趋近于汇编语言等优势,并且改善了原有的缺陷,其编译系统能检查更多的语法错误,因此,C+比C语言更安全。2 C+保持了与C语言的兼容。绝大多数C语言程序可以不经修改直接在C+环境中运行,用C语言编写的众多库函数可以用于C+程序中。3 兼容于以对象为导向的程序设计的重点。它兼容于以流程以及对象为导向的程序设计。4 C+程序在可重用性、可扩充性、可维护性和可靠性等方面都较C语言得到了提高,使其更适合开发大中型的系统软件和应用程序。5 C+设计采用了非动态的类型、同C语言一样能够植入多样化功用的程序设计语言当中。6 它是以一种直观的方式,兼容于上述所提及过的多样化的程序设计风格。7 它能够给程序设计人员留有更大的选择空间,就算有一定概率致使程序设计人员未能正确选择。8 它成应当尽量同C兼容,进而出具由C至C+的平稳转变。9 它规避了平台所约束抑或不具备广泛适用性的属性。10 它如果不运用的话,会产生额外支出的属性。11 它设计成不依靠于繁杂的程序设计平台。2.2 OOP简介面向对象设计的程序,英文名称为Object Oriented Programming,OOP,它属于网络的编程结构。OOP在使用中,有一点需要注意,那就是计算机程序是由不同的单元组建成的,每个单元会在其中起到子程序的作用。OOP对于软件工程比较重要,它有几个很明显的特征:实用性、灵活性、拓展性。为了在运算中发挥应用的作用,每个部分都需要对信息进行处理,并对数据进行接收和记录,再传送给其他对象6。OOP由以下几个部分构成:组件 它是网络程序的组成部分,关系到计算机的正常运行,并对数据进行记录。OOP 计算机在进行正常的程序运行时,组件会对模块发挥一定的作用。抽象特征 程序可以对信息进行及时处理,并提高对主要信息的关注率。封装 又被称为做信息封装:它可以让组件维持在一个比较稳定的状态,不会轻易改变。如果一些组件的内部组件对内部方法有所改变,那么它就可以对内部状态进行访问。每个组件都有一个借口,可以和不同的组件相连接,并调用其他组件7。多态性 组件在进行工作时,会和许多不同类型的部件一起发挥作用,由于调用的类型不同,最终的结果也千差万别。承接性在现有的工作条件下,工作人员可以创建不同的子组件,并提高它们的多态性,具体来说,可以对不同的组件进行组配,还可以对现有的类型进行更新,这样就能够把类组织分成不同的结构来进行工作,如树形、网形等,在工作中,通用性得到了发挥8。2.3 MFCMFC是Microsoft Foundation Classes的缩写,是微软提供的windows平台下的应用程序框架,原理是将繁杂的Win32 API封装成类的形式,然后提供标准化的简单易用API接口,比如对窗口类的封装,消息映射机制;对画刷画笔字体及位图的封装等。减少了程序开发人员大量的重复性编码工作,使程序开发人员把更多的时间和精力放到程序设计和实现上,极大的提高了Windows平台下应用程序的开发效率。MFC类库中囊括了各种各样的类,而每个类包含多个函数和变量,平时开发中很少有人能全部记住,其实也不用去记忆MFC的函数和使用方法,微软提供了MSDN开发手册,在上面可以轻松的查到Windows开发平台下所有的api,包括对函数的参数,返回值以及错误信息的解释,有的还附带示例代码帮助理解和使用9。MFC的消息响应机制,初学者进行windows应用程序开发时,消息以及消息映射是个很重要的概念。Windows应用程序是消息驱动的,应用程序不能直接获取用户的操作,如点击鼠标左键,操作系统检测到操作事件后,会向相应的应用程序队列发送消息。Windows程序都维护有自己的消息队列,保存了队列消息(当然也有非队列消息,它们直接发给窗口),并用过消息循环对消息进行处理。消息循环首先通过 GetMessage取得消息并从队列中移走,对于加速键会调用TranslateAccelerator函数,对其进行翻译和处理,如果处理成功就不再调用TranslateMessage函数。如果不是加速键,就进行消息的转换和派发,让目的窗口的窗口过程来处理消息10。真正处理消息的是所谓的窗口过程(LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)),这个函数的参数记录了过程对应的窗口、消息的ID以及参数,在其内部开发者可以实现自己需要的消息处理功能11。2.4 Visual C+集成开发环境Visual C+是微软提供的面向对象的可视化集成开发环境IDE,所谓可视化就是所见即所得,集成开发环境中的编辑器用于编写或者修改代码;编译器和连接器用于生成中间文件和可执行文件;调试器是在程序出错时用于调试;同时还有解决方案管理器用于管理多个项目,更好的协作;现在主流的Windows可视化开发环境的集成工具有Eclipse C+、Code:Blocks、Dev C+,Visual Studio系列,而Visual Studio系列工具是在Windows平台最好的开发工具,有vc 6.0、Visual Studio 2005、Visual Studio 2008、Visual Studio 2010、Visual Studio 2013多个版本,本论文代码是采用Visual Studio 2008进行编写开发的12。Visual Studio 2008可以利用较多的时间完成软件的开发。通过简便的操作,就能完成一个比较完整的界面,但是,它也需要一定的代码。Microsoft Visual Studio 2008可以支持多种程序,比如VB、C+等,可以快速实现相应的功能。VS不是开发C#应用程序所必需的开发工具或集成开发环境(IDE),但使用它可以使任务更简单一些。可以在基本的文本编辑器中处理C#源代码文件,在使用命令行应用程序把代码编译到程序集中。Visual Studio 2008特点有:对现有的软件进行测试和维护,保证软件的质量,和Windows 7、Office一起进行工作,并在运算上发挥自己的效用;支持最新C+标准,增强IDE,切实提高程序员开发效率以及创建美感与效能并重的新一代软件13。对于编程初学者,很容易把Visual C+ 和MFC搞混淆,Visual C+是微软集成开发环境,是用来编辑代码文件和编译链接代码的,以及调试运行程序;MFC是微软开发的基础类库。里面封装了但是两者都仅仅是软件开发的工具而已,初学编程切勿将大量的时间和精力花在工具的学习上,而要集中在程序的设计上,解决问题上。2.5 网络通信基础2.5.1 ISO 七层模型进行VC网络编程之前,首先了解下计算机网络通信的基本框架和工作原理,在两台以上计算机之间进行网络通信时,通信的双方必须遵守相同的通信原则和数据格式。七层OSI参考模型如下图1:图2-1 从下至上依次是物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。物理层:在计算机不同的节点之间,进行信息传送,其传送呈现出透明化的特点,并尽量忽略传输介质和物理设备之间的不同。 数据链路层:在相邻的计算机节点中进行信息传送,其传送呈现出透明化的特点,并尽量忽略传输介质和物理设备之间的不同。 网络层:在数据链路层,具体的信息在这一层被转换为数据包,然后通过路径选择、分段组合、顺序、进出路由等控制,将信息从一个网络设备传送到另一个网络设备。传输层:向用户提供可靠的端到端的差错和流量控制,保证报文的正确传输。传输层中,包括了TCP和UDP协议两个编程开发中常用协议,TCP协议是面向连接的可靠的通信协议,TCP的超时重传机制,有效的保证的TCP网络通信中数据传输的可靠性14。会话层:组织和协调两个会话进程之间的通信,并对数据交换进行管理。表示层:直接向用户提供服务,完成用户希望在网络上完成的各种工作。上图中OSI参考模型的各层传输的数据和控制信息具有多种格式,常用的信息格式包括帧、数据包、数据报、段、消息和数据单元。数据帧(Frame):一种信息单位,它的起始点和目的点都是数据链路层。数据包(Packet):一种信息单位,它的起始和目的地是网络层。数据报(Datagram):通常是指起始点和目的地都使用无连接网络服务的的网络层的信息单元。段(Segment):通常是指起始点和目的地都是传输层的信息单元。消息(message):是指起始点和目的地都在网络层以上(经常在应用层)的信息单元。数据单元(data unit)泛指许多信息单元。常用的数据单元有服务数据单元(SDU)、协议数据单元(PDU)总结下,数据链路层的PDU叫做Frame(帧);网络层的PDU叫做Packet(数据包);TCP的叫做Segment(数据段);UDP的叫做Datagram(数据报)。2.5.2 七层OSI参考模型的作用OSI 模型将通信过程分为七层,每一层的功能模块相对独立,完成自己相应的任务或功能,从而使得软件技术人员能够更专注的研究自己的那一层,减少了各层之间兼容性问题以及API设计不合理问题。而且当其中一层提供的解决方案更新时,仅仅是替换掉对应层的代码,并不会影响其他层的正常运行15。 2.6 Client和Server2.6.1 Client/Server简介当采用C/S模型进行网络通信时,一方为服务器,一方为客户端。C/S模型主要应用于局域网系统中,主要分为两层C/S和三层C/S架构,比较经典的是我们论文中使用两层C/S,如图2。图2-2 两层C/S架构服务器端主要承担事务逻辑方面的处理,以及数据的存储、获取及更新。我们平时电脑上运行的软件如qq,迅雷,浏览器都是客户端,客户端是连接用户和服务器之间的桥梁,客户端接收用户的输入请求,进而将请求转达给服务器,服务器解析请求做出相应的逻辑处理,将结果返回给客户端进行显示,或者服务器也可以将请求缓存在本地缓存文件或者缓存数据库中供以后使用。开发游戏客户端时,为了避免客户端和服务器之间的频繁交互浪费网络流量,也会在客户端本地进行一些简单计算,数据存储或缓存等方面的事务16。三层C/S架构是在两层C/S之间加了中间通信层,起中转数据的作用,好处就是程序增强了可拓展性,在中间通信层可以自由添加一些功能17。2.6.2 Client/Server简介Client/Server模式曾在历史长河中荣耀一时,则必然有其亮点之处。客户端和服务器直接相连,可以直接操作本地文本,减少获取文本内容的时间和精力。减少了通信流量,这对于客户来说可以节约一大笔费用。在C/S模式盛行的年代,很多都是控制台窗口程序,而C/S模式程序能够提供客户端操作界面,可以提高客户的视觉体验,满足客户需求。经过长期的时间检验,人们也发现了C/S存在的不足,比如当用户数增多服务器会出现通信拥堵,响应速度慢等情况。使用C/S模式程序必须安装一个客户端程序,只有安装了客户端才能访问服务器。由于用户需要安装客户端,每个操作系统都需要开发一个对应版本的客户端供用户使用,安装部署困难,同时开发成本和后期维护成本较高18。2.7 事件驱动的程序设计传统的MS-DOS程序主要采用顺序的、关联的、过程驱动的程序设计方法。程序要想有序的排列在一起,需要具备完成的过程。程序发生的过程和顺序非常重要。当程序设计好之后,它一般是先对管理者发挥作用,而不是用户。它具有一定的缺点,比如缺乏交互性,界面还需要进一步完善等。它是一系列序列的有机组合,具有完整的运转流程。它要求用户按照固定的模式进行工作19。图3-2可以对它的基本模型进行计算。事件的驱动程序属于一种比较新的技术,它的工作并非由事件发生的顺序来决定,而是和具体的事件发生有关系,而且具有一定的不确定性。管理者要想正确安排程序的运行模式,就需要对它进行合理的顺序安排。个别应用程序需要用户进行互动20。对于事件驱动的程序来说,它具有许多程序不可取代的优点,可以直接面向用户使用。在程序的设计中,除了完成自己需要的功能外,它更多地考虑了用户需要的输入方法,在工作中,它的设计方法并非主动,而是需要等待用户实现输入状态,并作出了自己的反应,处于等待事件发生的状态中。可以通过图3进行表现:图2-3事件驱动的好坏和它接收到的信息有很大关系,其中包括事件发生的消息,它的发生和信息循环有关。信息与DOS中的用户状态有一定关系,但范围上更广泛一些。Windows的具体程序可以表现为以下几种:1 输入消息:包括键盘、鼠标的状态,它的信息产生会列入到信息队列之中,随后通过Windows进行管理,让应用程序来发挥作用。2 控制消息:用来和Windows的其他部件发挥作用,比如列表框、检查部件等,实现即时通讯。假如用户在发消息时对检查框进行了改变,信息一般不会对应用程序的消息队列发挥作用,而是直接作用于控制对象。3系统消息:它会对程序化的信息及时作出回馈,一些数据交换信息需要通过Windows来发挥作用,个别信息则直接作用于应用程序之中,用户可以通过它对窗口信息进行构建。4用户消息:这是程序员自主进行定义的,并通过应用程序的一部分来发挥作用。在DOS之中,用户可以对getchar()、getch()等函数进行查看,并对屏幕直接输入信息。在当前的网络条件下,一个或者多个任务可以一起进行,Windows会对输入输出的状态进行管理。Windows操作系统重点由USER、KERNEL、GDI这三个内核基本元件所构成。并且GDI即图像设备接口,其主要作用在于打印硬拷贝以及绘制像素在显示屏上呈现,对话框、窗口以及菜单共同构成了绘制用户界面。操作系统同系统内核KERNEL息息相关:就像线程管理、进程加载、内存管理、文件I/O以及文本切换等。USER能够帮助一切用户界面目标给予保障,其重点应用于获得与负责系统信息与输入消费,同时还能为消息队列提供一定的窗口。消息队例相当于系统概念中的内存块,其作用在于储留短暂的消息,也可能是把消息呈递到窗口环节。任意窗口都对本身的消息队列展开保障,同时还能够遴选出消息,依靠窗口函授展开解决。2.8 本章小结本章主要是对一些开发时需要运用的重要知识点进行了介绍。包括了对开发语言C+的介绍、对面向对象编程思想的介绍、对于将要使用的MFC框架的介绍、对于开发环境Visual C+的介绍、对网络协议的介绍、对于Windows程序消息响应的介绍。- 40 -第3章 需求分析3.1 系统可行性分析可行性分析的工作并不能够详细处理问题,对于分析问题的规模,研究该问题能否有处理的价值,能否具备可行性措施。本课题设计在局域网中,而且专门为企业网内部设计,不受网络流量的约束。该系统操作便捷,安装客户端后就不需要再进行其它运作,客户端智能接上后,服务端则能够对进程、文件、显示屏展开运作,就相当于像应用机器那般简捷。综上分析,本课题的操作是可行的。3.3.1 系统基本功能远程办公操作运程控制软件办公版的模式不单单能够处理城市交通,还能够降低环境污染度,同时还减少了人们工作上忙碌,大大增强企业职工的工作水平以及提高员工的工作热情。3.3.2 远程教育就像商业企业能够在远程地操作软件企业版达到同用户远程沟通,依靠交互式的教学形式,依靠实操来提高用户水平,让用户能够在相应的人才那是获得一些有效的知识。师生亦能够依靠该远程控制技术达到教学问题的沟通,学生不需要同老师面对面,就能够得到老师的指导与铺助。学生还能够依靠电脑展开练习与运算,在这个环节中,老师可以方便地了解到学生的思考线索与过程,同时还能够给予及时的铺助。3.3.3 远程维护计算机系统技术专项人才或者管理人才可以依靠远程控制软件旗舰版监控与保护网络系统,展开控制、保护、实操以及安装,处理过去的服务工程师要求自己亲自处理的不足之处,减少了极多的计算机应用系统的维护经费,充分保障用户的利益,达到费用最低,效率最大。3.3.4 远程协助无论是谁都能依靠运程控制软件办公版把自己的一门技术传递到远端电脑面前的客户进而处理不足。就像填表单、绘画、安装软件等指导用户处理不足。3.3.5 远程指挥依靠软件视频的沟通功能,在军队远程指挥系统中达到不同的指挥机构在一样的显示屏中放映,每一个指挥构都能够观看到彼此的现场视频。3.2 功能需求分析功能需求是经过实际调研后,提出的系统需要实现的功能或服务。根据市面上主流的远程控制软件进行对比分析和调研,该系统包含的功能如下:3.3.1 文件管理功能不管是远程办公还是远程技术都需要访问客户端中的文件和文件夹,操作指定文件。有时在客户端上缺少某些动态链接库导致程序无法运行,需要服务器上传文件到客户端进行修复解决。当客户端环境不适合现场调试运行时,可以通过下载功能将关键文件下载到服务器本地硬盘中慢慢找到解决问题的方法。文件操作功能涵盖:新建文件或者文件夹、剔除文件件或文件、下载文件,上专文件、运行文件功能。该模块的用例图如下:图3-1 3.3.2 屏幕查看和监控功能在远程技术支持时,软件有了屏幕监控功能,可以将客户难以描述的现象和问题通过画面的形式呈现在技术人员眼前,便于技术人员掌握客户现场情况,从而更快更好的解决问题,极大的提升了解决问题的效率。3.3.3 进程管理功能使用系统的过程中,不可避免的会与进程打交道,查看系统当前进程是否有可疑进程,关闭进程等等,比如服务端发送获取进程信息命令到客户端,客户端接收命令后进行解析,然后枚举出进程的pid,进程名称以及进程路径等信息,然后以进程信息结构体的方式发送到服务器,服务器就可以针对进程进行操作。3.3.4 Cmd远程命令行执行在远程协助或者技术支持时,由于采用桌面监控的方式采用图片传输的方式,导致实时性和操作流畅度不高,更快捷的方式是采用命令行cmd来执行操作,其方便快捷并占用系统空间小,有效解决了远程时略微卡顿的问题,提高了远程操作的效率。3.3 本章小结本章已进入软件的需求分析阶段。首先对系统的可行性进行了分析,然后分析了主流远程控制系统的基本功能,并由此进行了细致的功能需求的分析。对每一个功能模块进行了详细的分析和设计。第4章 详细设计立足于上一章的基本设计以及这一个系统的重点功能,系统进入到具体设计时期。因为代码十分多,本章诠释该部分功能的过程中,仅仅概括了相应的重点代码语句以及部分函数。4.1 开发环境本系统采用Visual Studio 2008 + MFC 框架进行开发,客户端采用VmWare虚拟机进行测试。4.2 客户端与服务器连接设计4.2.1 服务器端实现原理远程监控的思想根据SOCKET并且依靠应用程序的消息机制,受监控程序 同监控程序的服务端资料彼此分享,进而完现被监控与监控的作用。立足于该思想,要求2个相应的程序,即CLIENT REMOTE CONTROL以及SERVER REMOTE CONTROL。Server remote control要求的模块如下所述:网络模块:主要应用于监听客户端的连接,重点在于获得与解决客服端发颁布过来的消息指令,在这系统上解决该消息同时传递这些资料,诸如要求反馈信息、屏幕数据等 ,让客服端对程序展开监控。编码解码模块:主要对资料展开哈夫曼压缩。该模块主要依靠客户端的需求来庆用详细的编码解码措施的。主框架模块:重点在于处理SERVER端窗口上的信息。4.2.2 客户端实现原理网络模块:重点在于同服务器的监听SOCKET进行相接;重点在于把不同操作指令发给服务器,就像不同参数消息、键盘以及鼠标等指令。主框架模块:重点在于解决CLIENT的窗口消息。4.2.3 数据流实现原理第一,实施Sever Remote Control的程序,实施监听端口,让服务器端口同CLIENT REMOTE CONTROL相连接,此后SERVER启动了同客服通线的线路。该线程重点的职责在于解决与获得客服端传递来的消息,同时在这个本机上实施具体的指令。再把现在的改变地方的数据递至客服端。假设客服端同服务器端相连接后,客户端就能够依靠服务器端发送的屏幕信息能够呈现在该机上,进而控制键盘以及鼠标,并且还能够适当优化。该操作会经过SOCKET进而传递至服务器端。服务器端然后依靠该消息做出具体的控制与运用。要求特别重视的是,服务器端刷屏的过程并非把所有屏幕都呈递至客服端,由于所有屏幕的信息量十分多,目前网络负载的环境波动性十分强,这个程序极易波动。一个有效的措施在于把屏幕分割成网强,更新屏幕其单位在于网格,唯有把这该波动的屏幕信息提供给客服端完成了。4.2.4 与服务器端相关的API4.2.4.1 WSAEnumprotocol函数介绍此函数能够拟合出系统安装协议的相关信息。4.2.4.2 WSAStartup函数介绍 函数的调用需要加载准确的Wi n s o c k库信息。在int 中,版本号为首个参数,此版本号的类型为Wi n s o c k库。在的平台中,Winsock 2库版本为最新的2 . 2类型。其中Windows CE是一个例外,因为该版本仅支持较老的Winsock 1.1版,若运用的是Winsock 2.2类型,需要使用指定值信息(即 ),还可以通过宏的使用来进行改善。对于低位字节需使用主版本,对于高位字节则使用副版本。W S A D ATA结构是第二位参数,该参数是调用之后立即返回的一种参数,其中包括了与Wi n s o c k版本相关的信息。4.2.4.3 WSACleanup函数介绍 若库过程的结束不需要借助Wi n s o c k函数而完成,其附带例程资源释放可以通过卸载库进行。4.2.4.4 WSASocket函数介绍 SOCKET WSASocket( int af,int type,iprotocol,LPWSAPROTOCOL,GROUP G,DWORD dwflags);;其中为首个参数,表示协议地址家族信息。若建立单个或者的套接字,可通过A F _ I N E T常量来表示互联网的协议地址(即I P)。t y p e为第二位参数,表示协议套接字的类型,该类型常见的值包括: 以及。为第三参数,如果特定地址套接字相关类型及其家族包含多个条目,此时能够借助该字段限制传输, 由对套接字进行设置,调用的函数可以传输类型结构即可应用该套接字,从而为准备进行套接字结构的建立进行诠释;此时仍然可以建立相关的套接字的类型,对提供者传输的目录进行检查发现该目录无法寻找指定的条目。其中在IP协议中的最初套接字就是最明显的例子。对于最初的套接字而言,可以作为一种通信

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论