收藏 分享(赏)

网络远程通信和控制程序设计_毕业设计论文.doc

上传人:无敌 文档编号:673667 上传时间:2018-04-18 格式:DOC 页数:51 大小:1.12MB
下载 相关 举报
网络远程通信和控制程序设计_毕业设计论文.doc_第1页
第1页 / 共51页
网络远程通信和控制程序设计_毕业设计论文.doc_第2页
第2页 / 共51页
网络远程通信和控制程序设计_毕业设计论文.doc_第3页
第3页 / 共51页
网络远程通信和控制程序设计_毕业设计论文.doc_第4页
第4页 / 共51页
网络远程通信和控制程序设计_毕业设计论文.doc_第5页
第5页 / 共51页
点击查看更多>>
资源描述

1、成都理工大学工程技术学院毕业论文网络远程通信与控制程序设计作者姓名:大 卫专业名称:计算机科学与技术指导老师:杰克 副教授网络远程通信与控制程序设计I摘 要在如今这个信息高速发达的时代,人们之间的物理距离虽无太大变化,然而逻辑距离却在一天天缩小。同时,鉴于交通的繁忙,无纸办公和远程办公的趋势已然愈演愈烈!远程控制应运而生。远程控制起初是为了让 PC 用户在离开办公室的时候能够访问其台式 PC 硬盘中的信息,甚至可以通过其台式机 PC 访问企业网络资源。今天,许多企业和增值分销商正在把远程控制能力作为有效的技术支持工具。很多网络管理员都采用这类软件对局域网进行管理或者在家中更新自己网站的内容。这

2、类软件对于出差在外的商务人员用处非常大,这样他们可以随时提取自己家里计算机中的数据和资料。随着计算机信息现代工业的发展,计算机远程控制管理系统越来越受到各方面的重视。本文主要分析了远程控制系统的一些基本功能和组成情况,包括系统的需求分析、系统结构、功能模块划分分析等,重点对应用程序的实际开发实现作了介绍。达到了实时性和安全性,且应用程序功能完备。同时简单介绍了 Visual C+ 6.0 编程环境和WinSocket 的功能特点。本课题设计是为适应远程控制及协助的要求,使远程控制提高到计算机的实时水平而设计的。远程控制包括多项内容,本课题设计只是承建了其中的一部分即:实时控制。本课题设计为一个

3、通信应用程序,用到了多项技术,诸如:异步模式 socket、面向对象编程、软件工程思想、API HOOK 等。本系统采用 Visual C+ 6.0 作为开发工具, 整个系统操作简洁、界面友好、功能灵活、实用,实现了包括客户端屏幕监控、文件操作及传输、系统服务和注册表监控等基本功能,基本完成了远程控制中所需要到的主要功能。关键词:套接字 面向对象 软件工程 远程监控网络远程通信与控制程序设计IIAbstractAlong with the development of the calculator information modern industry, the remote control

4、system is more and more value by business enterprise and school. 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 poi

5、nt make the introduction towards applying the actual development 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.T

6、his topic design is in order to adapt the remote control request, 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 con

7、trol. This topic used a number of techniques, for example: 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

8、 practical, achieved the basic functions including screen 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

9、control网络远程通信与控制程序设计III目录摘 要 .IAbstract.II目录 .III前言 .11 远程通信与控制技术概述 .21.1 课题背景 .21.2 目的以及意义 .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

10、类的简单介绍 .132 远程通信与控制系统分析 .152.1 系统基本情况描述 .152.2 系统可行性分析 .162.2.1 经济可行性 .172.2.2 技术可行性 .172.2.3 操作可行性 .172.3 功能需求分析 .182.4 系统流程图 .193 远程通信与控制程序设计 .213.1 系统设计使用工具 .213.2 系统模块的设计 .213.2.1 模块设计 .213.2.2 屏幕监控模块设计 .213.2.3 文件操作模块设计 .233.2.4 注册表操作模块设计 .233.2.5 发送信息模块设计 .24网络远程通信与控制程序设计IV3.2.6 API HOOK 模块设计

11、.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 本系统采用的测试方法 .314.2.1 连接测试 .314.2.2 文件操作测试 .334.2.3 注册表操作测试 .364.2.4 发送信息测试 .394.2.5 屏幕控制测试 .404.2.6 测试结论 .42总 结 .43致 谢 .44参考文献

12、.45网络远程通信与控制程序设计1前言随着计算机网络的飞速发展以及网络技术的日益普及和大众化,人们可以很方便地从 Internet 上获取和自己工作生活密切相关的信息,世界也真正变成一个地球村,我们可以和世界上其他任何一个人通过计算机网络进行沟通,信息资源达到了高度的共享。从这一点得到启发,希望能设计一个远程控制系统,通过它可以在家里控制办公室里的计算机。如果你是软件开发商,你的员工可以通过它在办公室里远程为客户配置系统、对产品进行维护,如果客户向你报告软件产品出现问题你可以远程对产品进行调试,最终解决问题。这样员工就不会因长期的劳苦奔波而抱怨,用户也不会因为你不能及时解决问题而和你讨价还价,

13、当然,也为公司节约了人力、财力和物力。远程控制软件一般分两个部分:一部分是客户端程序 Client,另一部分是服务器端程序 Server,在使用前需要将客户端程序安装到主控端电脑上,将服务器端程序安装到被控端电脑上。它的控制的过程一般是先在主控端电脑上执行客户端程序,像一个普通的客户一样向被控端电脑中的服务器端程序发出信号,建立一个特殊的远程服务,然后通过这个远程服务,使用各种远程控制功能发送远程控制命令,控制被控端电脑中的各种应用程序运行,这种远程控制方式称为基于远程服务的远程控制。通过远程控制软件,可以进行很多方面的远程控制,包括获取目标电脑屏幕图像、窗口及进程列表等等。远程控制具有一下优

14、点:便于用户能够在任何地方通过网络及时,快速的访问,控制自己的主机。特别是对于网络管理员,技术服务人员来说,远程控制提供了一个便捷,高效的手段。当然,远程控制软件是一把双刃剑,有优点就会有缺点,它存在比较严重的安全隐患。一方面给用户和网络管理员工作带了很大的方便,另一方面也给一些居心不良者留下后门。形成很多木马程序。这就需要对软件在设计方面做一些安全考虑。网络远程通信与控制程序设计21 远程通信与控制技术概述1.1 课题背景通常企业内部或者 IT 公司的客户技术支持部门都有技术支持业务,其任务是通过电话解答疑难问题,努力减少技术人员到现场服务或者让用户把设备送到支持中心进行维护。这种技术支持方

15、式尽管被普遍采用,但效率不高而且大大增加了技术支持成本。通常,技术支持必须依赖技术人员和用户之间的口头交流来进行,这种交流既耗时又容易出错。许多商业用户对计算机知之甚少,然而当遇到问题时,他们必须向技术人员提供故障情报及相关操作。在尝试解决问题时,技术人员可能指导用户执行一系列复杂的过程,而这些过程对用户来说或许完全不熟悉;如果用户不能正确的按要求操作,反而使问题恶化。此外,如果通过电话不能解决问题,那么在技术人员亲自到用户现场解决问题之前,计算机将无法继续使用,导致工作延误。电 脑 中 的 远 程 控 制 技 术 , 始 于 DOS 时 代 , 只 不 过 当 时 由 于 技术 上 没 有

16、什 么 大 的 变 化 , 网 络 不 发 达 , 市 场 没 有 更 高 的 要 求 , 所 以远 程 控 制 技 术 没 有 引 起 更 多 人 的 注 意 。 但 是 , 随 着 网 络 的 高 度 发 展 ,电 脑 的 管 理 及 技 术 支 持 的 需 要 , 远 程 操 作 及 控 制 技 术 越 来 越 引 起 人们 的 关 注 。 远 程 控 制 一 般 支 持 下 面 的 这 些 网 络 方 式 :LAN、 WAN、 拨 号 方 式 及 互 联 网 方 式 。 此 外 , 有 的 远 程 控 制 软 件 还支 持 通 过 串 口 、 并 口 、 红 外 端 口 来 对 远 程

17、 机 进 行 控 制 ( 不 过 这 里 说的 远 程 电 脑 , 只 能 是 有 限 距 离 范 围 内 的 电 脑 了 ) 。 传 统 的 远 程 控 制软 件 一 般 使 用 NETBEUI、 NETBIOS、 IPX/SPX、 TCP 等 协 议 来 实现 远 程 控 制 , 不 过 , 随 着 网 络 技 术 的 发 展 , 很 多 远 程 控 制 软 件 提 供通 过 Web 页 面 以 Java 技 术 来 控 制 远 程 电 脑 , 这 样 可 以 实 现 不 同 操作 系 统 下 的 远 程 控 制 。 TCP 协 议 远 程 控 制 主 要 有 windows 系 统 自

18、带 的 远 程 桌 面 、pcAnyWhere(赛 门 铁 克 公 司 )等 , 网 上 98%的 远 程 控 制 软 件 都 使 用网络远程通信与控制程序设计3TCP 协 议 来 实 现 远 程 控 制 ( 包 括 上 述 几 款 ) , 使 用 TCP 协 议 的 远 程控 制 软 件 的 优 势 是 稳 定 、 连 接 成 功 率 高 ; 缺 陷 是 双 方 必 须 有 一 方 具有 公 网 IP( 或 在 同 一 个 内 网 中 ) , 否 则 就 需 要 在 路 由 器 上 做 端 口 映射 。 这 意 味 着 你 只 能 用 这 些 软 件 控 制 拥 有 公 网 IP 的 电 脑

19、 , 或 者 只能 控 制 同 一 个 内 网 中 的 电 脑 ( 比 如 控 制 该 公 司 里 其 它 的 电 脑 ) 。 你不 可 能 使 用 TCP 协 议 的 软 件 从 某 一 家 公 司 的 电 脑 , 控 制 另 外 一 家 公司 的 内 部 电 脑 , 或 者 从 网 吧 、 宾 馆 里 控 制 你 办 公 室 的 电 脑 , 因 为 他们 处 于 不 同 的 内 网 中 。 80%以 上 的 电 脑 都 处 于 内 网 中 ( 使 用 路 由 共享 上 网 的 方 式 即 为 内 网 ) , TCP 软 件 不 能 穿 透 内 网 的 缺 陷 , 使 得 该类 软 件 使

20、用 率 大 打 折 扣 。 但 是 目 前 很 多 远 程 控 制 软 件 支 持 从 被 控 端主 动 连 接 到 控 制 端 , 可 以 一 定 程 度 上 弥 补 该 缺 陷 。UDP 协 议 远 程 控 制 与 TCP 协 议 远 程 控 制 不 同 , UDP 传 送 数据 前 并 不 与 对 方 建 立 连 接 , 发 送 数 据 前 后 也 不 进 行 数 据 确 认 , 从理 论 上 说 速 度 会 比 TCP 快 ( 实 际 上 会 受 网 络 质 量 影 响 )。 最 关 键 的是 : 使 用 UDP 协 议 可 以 利 用 UDP 的 打 洞 原 理 ( UDP Hole

21、 Punching 技 术 ) 穿 透 内 网 。 从 而 解 决 了 TCP 协 议 远 程 控 制 软 件 需要 做 端 口 映 射 的 难 题 。 这 样 , 即 使 双 方 都 在 不 同 的 局 域 网 内 , 也 可以 实 现 远 程 连 接 和 控 制 。 QQ、 MSN、 网 络 人 远 程 控 制 软 件 、XT800 的 远 程 控 制 功 能 都 是 基 于 UDP 协 议 的 。 你 会 发 现 使 用 穿 透内 网 的 远 程 控 制 软 件 无 需 做 端 口 映 射 即 可 实 现 连 接 , 这 类 软 件 都 需要 一 台 服 务 器 协 助 程 序 进 行

22、通 讯 以 便 实 现 内 网 的 穿 透 。 由 于 IP 资源 日 益 稀 缺 , 越 来 越 多 的 用 户 会 在 内 网 中 上 网 , 因 此 能 穿 透 内 网 的远 程 控 制 软 件 , 将 是 今 后 远 程 控 制 发 展 的 主 流 方 向 。1.2 目的以及意义本文正是在上文提到的背景下提出的,目的就是为了解决计算机的远程操作,降低企业对软件的后期维护成本,提高计算机远程通信能力的减少误操作率来提升远程工作者的工作效率,设计出一款计算机网络远程控制系统。远程控制系统能使技术人员直接操作远程计算机,就像操作本地机器一样,无须用户介入,技术人员技能得到该机器的问题的第一手

23、材料,从而加快了问题的解决。实际上,使用远程网络远程通信与控制程序设计4控制工具的技术人员能够做到解答疑难问题,安装和配置软件,把软件下载到用户计算机上,配置应用程序和系统软件设置并可通过实际操作培训用户。总之,本毕业设计题目的设计与实现具有很大的现实意义。1.3 C+及编程模式简介1.3.1 Visual C+简介Microsoft Visual C+是 Microsoft 公 司 推 出 的 开 发 Win32 环境 程 序 , 面 向 对 象 的 可 视 化 集 成 编 程 系 统 。 它 不 但 具 有 程 序 框 架 自动 生 成 、 灵 活 方 便 的 类 管 理 、 代 码 编

24、写 和 界 面 设 计 集 成 交 互 操 作 、可 开 发 多 种 程 序 等 优 点 , 而 且 通 过 简 单 的 设 置 就 可 使 其 生 成 的 程 序框 架 支 持 数 据 库 接 口 、 OLE2, WinSock 网 络 、 3D 控 制 界 面 。它 以 拥 有 “语 法 高 亮 ”, IntelliSense( 自 动 编 译 功 能 ) 以 及 高级 除 错 功 能 而 著 称 。 比 如 , 它 允 许 用 户 进 行 远 程 调 试 , 单 步 执 行 等 。还 有 允 许 用 户 在 调 试 期 间 重 新 编 译 被 修 改 的 代 码 , 而 不 必 重 新

25、启 动正 在 调 试 的 程 序 。 其 编 译 及 建 置 系 统 以 预 编 译 头 文 件 、 最 小 重 建 功能 及 累 加 连 结 著 称 。 这 些 特 征 明 显 缩 短 程 式 编 辑 、 编 译 及 连 结 的 时间 花 费 , 在 大 型 软 件 计 划 上 尤 其 显 著 。Visual C+的资源编辑器能以所见即所得的形式直接编辑程序的用户界面,为所有资源分配 ID 标识号。ClassWizard 能把对话框模板与生成的类定义或与已有的类代码连接起来,为菜单项、控制等资源生成空的处理函数模板,创建消息映射条目,并将资源 ID 与处理函数连接起来。通过使用 AppWiz

26、ard,程序员的编程工作便简化为用资源编辑器直观的设计界面,完善对话框类代码,在空的处理函数模板处填写响应用户操作的代码,这是一种比较完善的可视化编程方法。但产品名“Visual C+”也容易误导人,让人认为自己使用的是一个与 Microsoft Visual Basic 类似的完全可视化的系统。然而,使用Visual C+,开发人员必须真正地阅读和编写 C+代码。Visual C+向导可以节省时间和提高精度,但是,程序员也必须理解向导产生的代网络远程通信与控制程序设计5码,并且,最重要的是,还必须理解 MFC 库的结构和 Windows 操作系统的内部工作方式。1.3.2 MFC 应用程序框

27、架MFC 实 际 上 是 微 软 提 供 的 ,用 于 在 C+环 境 下 编 写 应 用 程 序 的一 个 框 架 和 引 擎 ,VC+是 Windows 下 开 发 人 员 使 用 的 专 业 C+ SDK(SDK,Standard SoftWare Develop Kit,专 业 开 发 平 台 ),MFC 就是 挂 在 它 之 上 的 一 个 辅 助 软 件 开 发 包 ,MFC 作 为 与 VC+血 肉 相 连的 部 分 (注 意 C+和 VC+的 区 别 :C+是 一 种 程 序 设 计 语 言 ,是 一 种大 家 都 承 认 的 软 件 编 制 的 通 用 规 范 ,而 VC+只

28、 是 一 个 编 译 器 ,或 者说 是 一 种 编 译 器 +源 程 序 编 译 器 的 IDE,WS,PlatForm,这 跟 Pascal和 Delphi 的 关 系 一 个 道 理 ,Pascal 是 Delphi 的 语 言 基 础 ,Delphi 使用 Pascal 规 范 来 进 行 Win 下 应 用 程 序 的 开 发 和 编 译 ,却 不 同 于Basic 语 言 和 VB 的 关 系 ,Basic 语 言 在 VB 开 发 出 来 被 应 用 的 年 代已 经 成 了 Basic 语 言 的 新 规 范 ,VB 新 加 的 Basic 语 言 要 素 ,如 面 向对 象

29、程 序 设 计 的 要 素 ,是 一 种 性 质 上 的 飞 跃 ,使 VB 既 是 一 个 IDE,又 成 长 成 一 个 新 的 程 序 设 计 语 言 ),MFC 同 BC+集 成 的 VCL 一 样是 一 个 非 外 挂 式 的 软 件 包 ,类 库 ,只 不 过 MFC 类 是 微 软 为 VC+专配 的 。 MFC 是 Win API 与 C+的 结 合 ,API,即 微 软 提 供 的 Windows下 应 用 程 序 的 编 程 语 言 接 口 ,是 一 种 软 件 编 程 的 规 范 ,但 不 是 一 种程 序 开 发 语 言 本 身 ,可 以 允 许 用 户 使 用 各 种

30、 各 样 的 第 三 方 (如 我 是一 方 ,微 软 是 一 方 ,Borland 就 是 第 三 方 )的 编 程 语 言 来 进 行 对Windows 下 应 用 程 序 的 开 发 ,使 这 些 被 开 发 出 来 的 应 用 程 序 能 在Windows 下 运 行 ,比 如 VB,VC+,JAVA,Delhpi 编 程 语 言 函 数 本 质上 全 部 源 于 API,因 此 用 它 们 开 发 出 来 的 应 用 程 序 都 能 工 作 在Windows 的 消 息 机 制 和 绘 图 里 ,遵 守 Windows 作 为 一 个 操 作 系 统的 内 部 实 现 ,这 其 实 也 是 一 种 必 要 ,微 软 如 果 不 提 供 API,这 个 世 上对 Windows 编 程 的 工 作 就 不 会 存 在 ,微 软 的 产 品 就 会 迅 速 从 时 尚 变成 垃 圾 ,上 面 说 到 MFC 是 微 软 对 API 函 数 的 专 用 C+封 装 ,这 种 结合 一 方 面 让 用 户 使 用 微 软 的 专 业 C+ SDK 来 进 行 Windows 下 应

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

当前位置:首页 > 学术论文 > 管理论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报