网络远程通信和控制程序毕业设计--论文.docx
《网络远程通信和控制程序毕业设计--论文.docx》由会员分享,可在线阅读,更多相关《网络远程通信和控制程序毕业设计--论文.docx(50页珍藏版)》请在三一办公上搜索。
1、网络远程通信与控制程序设计作者姓名:大 卫专业名称:计算机科学与技术指导老师:杰克 副教授摘 要在如今这个信息高速发达的时代,人们之间的物理距离虽无太大变化,然而逻辑距离却在一天天缩小。同时,鉴于交通的繁忙,无纸办公和远程办公的趋势已然愈演愈烈!远程控制应运而生。远程控制起初是为了让PC用户在离开办公室的时候能够访问其台式PC硬盘中的信息,甚至可以通过其台式机PC访问企业网络资源。今天,许多企业和增值分销商正在把远程控制能力作为有效的技术支持工具。很多网络管理员都采用这类软件对局域网进行管理或者在家中更新自己网站的内容。这类软件对于出差在外的商务人员用处非常大,这样他们可以随时提取自己家里计算
2、机中的数据和资料。随着计算机信息现代工业的发展,计算机远程控制管理系统越来越受到各方面的重视。本文主要分析了远程控制系统的一些基本功能和组成情况,包括系统的需求分析、系统结构、功能模块划分分析等,重点对应用程序的实际开发实现作了介绍。达到了实时性和安全性,且应用程序功能完备。同时简单介绍了Visual C+ 6.0编程环境和WinSocket的功能特点。本课题设计是为适应远程控制及协助的要求,使远程控制提高到计算机的实时水平而设计的。远程控制包括多项内容,本课题设计只是承建了其中的一部分即:实时控制。本课题设计为一个通信应用程序,用到了多项技术,诸如:异步模式socket、面向对象编程、软件工
3、程思想、API HOOK等。本系统采用Visual C+ 6.0作为开发工具, 整个系统操作简洁、界面友好、功能灵活、实用,实现了包括客户端屏幕监控、文件操作及传输、系统服务和注册表监控等基本功能,基本完成了远程控制中所需要到的主要功能。关键词:套接字 面向对象 软件工程 远程监控AbstractAlong with the development of the calculator information modern industry, the remote control system is more and more value by business enterprise and s
4、chool. This text mainly analyzed some basic functions of the remote control system and constitute the circumstance, including the requirements analysis, the structure of the system, the function mold piece divide the line analyze etc, the point make the introduction towards applying the actual devel
5、opment of the procedure realization. Come to the consistency and safeties of the data, and apply the procedure function complete. It will introduce the Visual C+ 6.0 programming environment and the features of the WinSocket at the same time.This topic design is in order to adapt the remote control r
6、equest, make the remote assistance carry on the level by design that the management raises the calculator of. Remote control includes several contents, this topic design just accepted to set up among them of one part namely: The real-time control. This topic used a number of techniques, for example:
7、 The socket of asynchronous mode, Object-Oriented, Software Engineering, API HOOK etc. This system uses Visual C + + 6.0 as a development tool, the operation of the entire system is simple, interface is user-friendly, function is flexible and practical, achieved the basic functions including screen
8、monitoring, control and transfer files, process monitoring, system services and registry monitoring, complete the main functions of what the Remote Assistance system need to go.Keyword: Socket,Object-Oriented,Software-Engineering,Hook,remote control目录摘 要IAbstractII目录III前言11 远程通信与控制技术概述21.1 课题背景21.2
9、目的以及意义31.3 Microsoft Visual C+及编程模式简介41.3.1 Visual C+的简介41.3.2 MFC应用程序框架51.3.3 MFC的消息映射71.4 系统架构的模式101.4.1 C/S结构模式101.4.2 TCP C/S模式的通信原理101.4.3 C/S结构的优点111.5 API HOOK技术简介111.6 CAsyncSocket类的简单介绍132 远程通信与控制系统分析152.1 系统基本情况描述152.2 系统可行性分析162.2.1 经济可行性172.2.2 技术可行性172.2.3 操作可行性172.3 功能需求分析182.4 系统流程图19
10、3 远程通信与控制程序设计213.1 系统设计使用工具213.2 系统模块的设计213.2.1 模块设计213.2.2 屏幕监控模块设计213.2.3 文件操作模块设计233.2.4 注册表操作模块设计233.2.5 发送信息模块设计243.2.6 API HOOK模块设计243.3 客户端与服务器连接设计243.4 系统主要模块实现253.4.1 屏幕监控模块253.4.2 文件操作模块273.4.3 注册表操作模块273.4.4 API HOOK模块294 系统实现与测试304.1 软件测试基础304.1.1 软件测试的目标304.1.2 软件测试常用方法304.2 本系统采用的测试方法3
11、14.2.1 连接测试314.2.2 文件操作测试334.2.3 注册表操作测试364.2.4 发送信息测试394.2.5 屏幕控制测试404.2.6 测试结论42总 结43致 谢44参考文献45前言随着计算机网络的飞速发展以及网络技术的日益普及和大众化,人们可以很方便地从Internet上获取和自己工作生活密切相关的信息,世界也真正变成一个地球村,我们可以和世界上其他任何一个人通过计算机网络进行沟通,信息资源达到了高度的共享。从这一点得到启发,希望能设计一个远程控制系统,通过它可以在家里控制办公室里的计算机。如果你是软件开发商,你的员工可以通过它在办公室里远程为客户配置系统、对产品进行维护,
12、如果客户向你报告软件产品出现问题你可以远程对产品进行调试,最终解决问题。这样员工就不会因长期的劳苦奔波而抱怨,用户也不会因为你不能及时解决问题而和你讨价还价,当然,也为公司节约了人力、财力和物力。远程控制软件一般分两个部分:一部分是客户端程序Client,另一部分是服务器端程序Server,在使用前需要将客户端程序安装到主控端电脑上,将服务器端程序安装到被控端电脑上。它的控制的过程一般是先在主控端电脑上执行客户端程序,像一个普通的客户一样向被控端电脑中的服务器端程序发出信号,建立一个特殊的远程服务,然后通过这个远程服务,使用各种远程控制功能发送远程控制命令,控制被控端电脑中的各种应用程序运行,
13、这种远程控制方式称为基于远程服务的远程控制。通过远程控制软件,可以进行很多方面的远程控制,包括获取目标电脑屏幕图像、窗口及进程列表等等。远程控制具有一下优点:便于用户能够在任何地方通过网络及时,快速的访问,控制自己的主机。特别是对于网络管理员,技术服务人员来说,远程控制提供了一个便捷,高效的手段。当然,远程控制软件是一把双刃剑,有优点就会有缺点,它存在比较严重的安全隐患。一方面给用户和网络管理员工作带了很大的方便,另一方面也给一些居心不良者留下后门。形成很多木马程序。这就需要对软件在设计方面做一些安全考虑。1 远程通信与控制技术概述1.1 课题背景通常企业内部或者IT公司的客户技术支持部门都有
14、技术支持业务,其任务是通过电话解答疑难问题,努力减少技术人员到现场服务或者让用户把设备送到支持中心进行维护。这种技术支持方式尽管被普遍采用,但效率不高而且大大增加了技术支持成本。通常,技术支持必须依赖技术人员和用户之间的口头交流来进行,这种交流既耗时又容易出错。许多商业用户对计算机知之甚少,然而当遇到问题时,他们必须向技术人员提供故障情报及相关操作。在尝试解决问题时,技术人员可能指导用户执行一系列复杂的过程,而这些过程对用户来说或许完全不熟悉;如果用户不能正确的按要求操作,反而使问题恶化。此外,如果通过电话不能解决问题,那么在技术人员亲自到用户现场解决问题之前,计算机将无法继续使用,导致工作延
15、误。电脑中的远程控制技术,始于DOS时代,只不过当时由于技术上没有什么大的变化,网络不发达,市场没有更高的要求,所以远程控制技术没有引起更多人的注意。但是,随着网络的高度发展,电脑的管理及技术支持的需要,远程操作及控制技术越来越引起人们的关注。远程控制一般支持下面的这些网络方式:LAN、WAN、拨号方式及互联网方式。此外,有的远程控制软件还支持通过串口、并口、红外端口来对远程机进行控制(不过这里说的远程电脑,只能是有限距离范围内的电脑了)。传统的远程控制软件一般使用NETBEUI、NETBIOS、IPX/SPX、TCP等协议来实现远程控制,不过,随着网络技术的发展,很多远程控制软件提供通过We
16、b页面以Java技术来控制远程电脑,这样可以实现不同操作系统下的远程控制。 TCP协议远程控制主要有windows系统自带的远程桌面、pcAnyWhere(赛门铁克公司)等,网上98%的远程控制软件都使用TCP协议来实现远程控制(包括上述几款),使用TCP协议的远程控制软件的优势是稳定、连接成功率高;缺陷是双方必须有一方具有公网IP(或在同一个内网中),否则就需要在路由器上做端口映射。这意味着你只能用这些软件控制拥有公网IP的电脑,或者只能控制同一个内网中的电脑(比如控制该公司里其它的电脑)。你不可能使用TCP协议的软件从某一家公司的电脑,控制另外一家公司的内部电脑,或者从网吧、宾馆里控制你办
17、公室的电脑,因为他们处于不同的内网中。80%以上的电脑都处于内网中(使用路由共享上网的方式即为内网),TCP软件不能穿透内网的缺陷,使得该类软件使用率大打折扣。但是目前很多远程控制软件支持从被控端主动连接到控制端,可以一定程度上弥补该缺陷。UDP协议远程控制与 TCP 协议远程控制不同,UDP传送数据前并不与对方建立连接,发送数据前后也不进行数据确认,从理论上说速度会比TCP快(实际上会受网络质量影响)。最关键的是:使用UDP协议可以利用UDP的打洞原理(UDP Hole Punching技术)穿透内网。从而解决了TCP协议远程控制软件需要做端口映射的难题。这样,即使双方都在不同的局域网内,也
18、可以实现远程连接和控制。QQ、MSN、网络人远程控制软件、XT800的远程控制功能都是基于UDP协议的。你会发现使用穿透内网的远程控制软件无需做端口映射即可实现连接,这类软件都需要一台服务器协助程序进行通讯以便实现内网的穿透。由于IP资源日益稀缺,越来越多的用户会在内网中上网,因此能穿透内网的远程控制软件,将是今后远程控制发展的主流方向。1.2 目的以及意义本文正是在上文提到的背景下提出的,目的就是为了解决计算机的远程操作,降低企业对软件的后期维护成本,提高计算机远程通信能力的减少误操作率来提升远程工作者的工作效率,设计出一款计算机网络远程控制系统。远程控制系统能使技术人员直接操作远程计算机,
19、就像操作本地机器一样,无须用户介入,技术人员技能得到该机器的问题的第一手材料,从而加快了问题的解决。实际上,使用远程控制工具的技术人员能够做到解答疑难问题,安装和配置软件,把软件下载到用户计算机上,配置应用程序和系统软件设置并可通过实际操作培训用户。总之,本毕业设计题目的设计与实现具有很大的现实意义。1.3 C+及编程模式简介1.3.1 Visual C+简介Microsoft Visual C+是Microsoft公司推出的开发Win32环境程序,面向对象的可视化集成编程系统。它不但具有程序框架自动生成、灵活方便的类管理、代码编写和界面设计集成交互操作、可开发多种程序等优点,而且通过简单的设
20、置就可使其生成的程序框架支持数据库接口、OLE2,WinSock网络、3D控制界面。它以拥有“语法高亮”, IntelliSense(自动编译功能)以及高级除错功能而著称。比如,它允许用户进行远程调试,单步执行等。还有允许用户在调试期间重新编译被修改的代码,而不必重新启动正在调试的程序。其编译及建置系统以预编译头文件、最小重建功能及累加连结著称。这些特征明显缩短程式编辑、编译及连结的时间花费,在大型软件计划上尤其显著。Visual C+的资源编辑器能以所见即所得的形式直接编辑程序的用户界面,为所有资源分配ID标识号。ClassWizard能把对话框模板与生成的类定义或与已有的类代码连接起来,为
21、菜单项、控制等资源生成空的处理函数模板,创建消息映射条目,并将资源ID与处理函数连接起来。通过使用AppWizard,程序员的编程工作便简化为用资源编辑器直观的设计界面,完善对话框类代码,在空的处理函数模板处填写响应用户操作的代码,这是一种比较完善的可视化编程方法。但产品名“Visual C+”也容易误导人,让人认为自己使用的是一个与Microsoft Visual Basic类似的完全可视化的系统。然而,使用Visual C+,开发人员必须真正地阅读和编写C+代码。Visual C+向导可以节省时间和提高精度,但是,程序员也必须理解向导产生的代码,并且,最重要的是,还必须理解MFC库的结构和
22、Windows操作系统的内部工作方式。1.3.2 MFC应用程序框架MFC实际上是微软提供的,用于在C+环境下编写应用程序的一个框架和引擎,VC+是Windows下开发人员使用的专业C+ SDK(SDK,Standard SoftWare Develop Kit,专业开发平台),MFC就是挂在它之上的一个辅助软件开发包,MFC作为与VC+血肉相连的部分(注意C+和VC+的区别:C+是一种程序设计语言,是一种大家都承认的软件编制的通用规范,而VC+只是一个编译器,或者说是一种编译器+源程序编译器的IDE,WS,PlatForm,这跟Pascal和Delphi的关系一个道理,Pascal是Delp
23、hi的语言基础,Delphi使用Pascal规范来进行Win下应用程序的开发和编译,却不同于Basic语言和VB的关系,Basic语言在VB开发出来被应用的年代已经成了Basic语言的新规范,VB新加的Basic语言要素,如面向对象程序设计的要素,是一种性质上的飞跃,使VB既是一个IDE,又成长成一个新的程序设计语言),MFC同BC+集成的VCL一样是一个非外挂式的软件包,类库,只不过MFC类是微软为VC+专配的。 MFC是Win API与C+的结合,API,即微软提供的Windows下应用程序的编程语言接口,是一种软件编程的规范,但不是一种程序开发语言本身,可以允许用户使用各种各样的第三方(
24、如我是一方,微软是一方,Borland就是第三方)的编程语言来进行对Windows下应用程序的开发,使这些被开发出来的应用程序能在Windows下运行,比如VB,VC+,JAVA,Delhpi编程语言函数本质上全部源于API,因此用它们开发出来的应用程序都能工作在Windows的消息机制和绘图里,遵守Windows作为一个操作系统的内部实现,这其实也是一种必要,微软如果不提供API,这个世上对Windows编程的工作就不会存在,微软的产品就会迅速从时尚变成垃圾,上面说到MFC是微软对API函数的专用C+封装,这种结合一方面让用户使用微软的专业C+ SDK来进行Windows下应用程序的开发变得
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网络 远程 通信 控制程序 毕业设计 论文
链接地址:https://www.31ppt.com/p-2093996.html