摘 要
基于网络的虚拟实验平台是在能够进行网络通信的基础之上将计算机上虚拟的各种仪器、器件,按实验要求组装成一个完整的实验环境,实现搭接实验电路,演示实验过程等功能。远程指导模块是其中的一个功能模块。它分成指导端和被指导端两部分,指导端通过HOOK技术,采集本地机鼠标和键盘信息;然后将这些信息打包,通过P2P网络通信机制将信息包传给被指导端;在被指导端将信息包信息解出,通过mouse_event、keybd_event等函数去控制被指导端的鼠标、键盘动作,实现相关的一些远程指导动作。本模块在VC环境下开发,用到了Windows Socket编程技术,P2P编程思想,HOOK技术,多线程技术等多方面的技术。由于整个系统模块很多,本设计中编写了独立的测试程序,经过测试基本达到预期的设计目标。
关键词:远程指导;P2P;Windows Socket编程;HOOK;多线程
Design and Implementation of Remote Guidance Module Based on Network Virtual Experiment Platformhttp://www.16sheji8.cn/
Abstract
Under the foundation of network communications,the network-based Virtual Experimental Platform could integrate various computer virtual devices into a complete experimental environment according to the experiment requirements, and connect the experiment circuit and demonstrate the process of experiment. The remote guiding module was one of function modules, which was divided into guiding end and the guided end. With HOOK, the guiding end captured the information of local mouse and keyboard, and packed the information to send to the guided part through peer-to-peer network communication mechanism. The guided end will unpack the information, and control the mouse and keyboard of the guided end by mouse_event, keybd_event functions to implement some remote control actions. Developed under VC environment, the remote guidance module used Windows Socket programming technology, P2P programming ideas, HOOK technology, multithreading technology, and etc. Because there are many modules for the whole system, an independent testing procedure was programmed to test the modules, which had been proven to achieve the desired objectiveshttp://www.16sheji8.cn/
Key words: Remote guidance;Peer-to-Peer;Windows Socket programming;HOOK;Multithreading
目 录
论文总页数: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 设计流程及函数思想 15http://www.16sheji8.cn/
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
1引言
近年来,随着信息技术的发展,计算机的普及,网络为我们带了更多的便利。网络技术的发展,引发了控制领域的深刻技术变革,控制系统结构沿着网络化方向与控制系统体系沿着开放性方向发展将是控制系统技术创新的大潮流。计算机局域网络、企业网络、现代信号处理等等使自动化系统与工业控制系统从体系结构、控制方法、产品系列、人机协作方法等都发生了重大的变化。进入21世纪的控制系统以网络为主要特征:一方面是在自动化与工业控制中需要更深层次地渗透通信与网络技术,另一方面是在通信网络的管理与控制中也要求更多的采用控制理论与策略并且由于系统中需要大量的数据交换,服务器的负担很重,所以我们就研究出了基于网络的虚拟实验平台。http://www.16sheji8.cn/
作为基于网络的虚拟实验平台的远程指导模块,本文通过Windows Socket编程,以HOOK技术,多线程技术作为基础,再利用其他的API函数来实现被指导端对指导端发送请求信息,将信息打包以后通过网络传输到服务器端,指导端收到信息以后,将信息解包,根据信息提示来对被指导端进行相关指导:获取客户的相关信息、锁定鼠标和键盘,对鼠标进行动态的控制和指导键盘的信息输入。
1.1项目背景
全球信息化的发展,计算机网络给我们提供了优越的通信平台,优秀的软件系统必须要具有网络功能。虚拟实验平台正是应这个大需求而诞生。并且随着信息技术的发展,网络无疑为我们带了更多的便利,同时一个优秀的系统必须要具有网络功能,要完成这些功能,那就要把各种网络通过某种方式连接起来,在网络实现过程中存在穿透NAT的问题,此问题存在较长时间,后来因为网络地址不够而产生了P2P技术,伴随着P2P技术的出现,利用UDP实现P2P网络穿越NAT的即时通讯技术,而问题即被解决。http://www.16sheji8.cn/