摘 要
基于网络的虚拟实验平台是在能够进行网络通信的基础之上将计算机上虚拟的各种仪器、器件,按实验要求组装成一个完整的实验环境,实现搭接实验电路,演示实验过程等功能。远程指导模块是其中的一个功能模块。它分成指导端和被指导端两部分,指导端通过HOOK技术,采集本地机鼠标和键盘信息;然后将这些信息打包,通过P2P网络通信机制将信息包传给被指导端;在被指导端将信息包信息解出,通过mouse_event、keybd_event等函数去控制被指导端的鼠标、键盘动作,实现相关的一些远程指导动作。本模块在VC环境下开发,用到了Windows Socket编程技术,P2P编程思想,HOOK技术,多线程技术等多方面的技术。由于整个系统模块很多,本设计中编写了独立的测试程序,经过测试基本达到预期的设计目标。
关键词:远程指导;P2P;Windows Socket编程;HOOK;多线程
目 录
论文总页数:23页
1引言 1
1.1项目背景 1
1.2项目介绍 1
1.2.1 基于网络的虚拟实验平台 1
1.2.2 远程指导模块 2
1.3 项目要求 2
1.3.1 功能要求 2
1.3.2 Client/Server(客户端/服务器)结构工作过程 2
2 网络基础知识简介 3
2.1 OSI与TCP/IP参考模型的对应关系 3
2.1.1 OSI参考模型 3
2.1.2 TCP/IP参考模型 4
2.2 WINDOWS SOCKET编程原理及操作步骤 5
2.3 P2P网络介绍 8
3 相关函数分析与代码实现 8
3.1多线程 8
3.1.1 进程介绍 8
3.1.2 线程介绍 8
3.1.3 进程与线程的关系 9
3.1.4 多线程实现 9
3.2 HOOK技术 9
3.2.1 Hook函数简介及类型 9
3.2.2 Hook子过程处理 12
3.2.3 Hook的安装/卸载 13
3.3 设计流程及函数思想 15
3.3.1 简述 15
3.3.2 代码分析 15
4 程序测试与相应改进 18
4.1 程序界面 18
4.2程序相关测试 19
4.2.1 获取对方相关信息 19
4.2.2发送消息及存贮 19
4.2.3被指导端显示信息 20
4.3 相关改进 20
结 论 20
参考文献 21
致 谢 22
声 明 23