论文无忧网提供:计算机毕业论文范文|计算机毕业设计|计算机毕业论文
栏目导航 ASP Java Web .NET VB6.0 JAVA VC VF DELPHI PB 计算机网络 计算机科学与技术 PHP 安卓APP 其他 C# 代写论文
当前位置: > 计算机 > 计算机科学与技术 >

基于网络的虚拟实验平台--远程指导模块(论文+程序)

1.2项目介绍

1.2.1 基于网络的虚拟实验平台

copyright paper51.com

计算机技术、大规模集成电路技术和通讯技术的飞速发展,为虚拟实验的发展奠定了坚实的基础。虚拟实验就是在通用计算机上加载相应的软件或硬件,使得使用者在操作这台计算机时,就像是在操作一台专用的传统试验设备一样。在虚拟实验系统中,软件是整个系统的关键,任何使用者都可以通过软件的相关设置来达到要实现实验的效果。 copyright paper51.com

虚拟实验就是利用外部输入(如鼠标的点击、拖动和键盘的敲击等),将计算机上虚拟的各种仪器,按实验要求、过程,组装成一个完整的实验环境,同时在这个环境中完成实验操作,包括实验器材的添加、实验条件的改变、数据采集以及实验结果的模拟、分析。它包含了虚拟仿真技术、计算机技术、实验技术、网络技术与专业等多方面理论知识。 paper51.com

1.2.2 远程指导模块

内容来自论文无忧网 www.paper51.com

远程指导模块是基于网络的虚拟实验平台的一个通信模块,是基于WindowsSocket编程,使用Client/Server(客户端/服务器)结构来实现模块的功能,以VC为开发环境,同时以HOOK技术和多线程技术作为基础,再利用API相关函数来实现指导端和被指导端的互动。 copyright paper51.com

1.3 项目要求 copyright paper51.com

1.3.1 功能要求

copyright paper51.com

完成远程指导的基本功能,指导端和被指导端能够进行P2P网络通信,指导端能够控制被指导端的鼠标和键盘,并且能够存储相关信息,还能够对鼠标进行动态控制和指导键盘的输入。

http://www.paper51.com

1.3.2 Client/Server(客户端/服务器)结构工作过程

copyright paper51.com

Client/Server(客户端/服务器)结构,通过将任务合理分配到Client 端和Server 端,降低了系统的通讯开销,可以充分利用两端硬件环境的优势,在TCP/IP网络应用中,通信的两个进程间相互作用的主要模式是客户机/服务器模式(client/server),即客户向服务器提出请求,服务器接收到请求后,提供相应的服务。客户机/服务器模式的建立基于以下两点:首先,建立网络的起因是网络中软硬件资源、运算能力和信息不均等,需要共享,从而造就拥有众多资源的主机提供服务,资源较少的客户请求服务这一非对等作用。其次,网络之间进程通信完全是异步的,相互通信的进程间既不存在父子关系,又不共享内存缓冲区,因此需要一种机制为希望通信的进程间建立联系,为二者的数据交换提供同步,这就是基于客户机/服务器模式的TCP/IP: 内容来自论文无忧网 www.paper51.com

客户机/服务器模式在操作过程中采取的是主动请求的方式。首先服务器方要先启动,并根据请求提供相应的服务:打开一个通信通道并告知本地主机,它愿意在某一地址和端口上接收客户请求。等待客户请求到达该端口。接收到重复服务请求,处理该请求并发送应答信号。接收到并发服务请求,要激活一个新的进程(或线程)来处理这个客户请求。新进程(或线程) 处理此客户请求,并不需要对其它请求做出应答。服务完成后,关闭此新进程与客户的通信链路,并终止。返回第二步,等待另一客户请求,关闭服务器。 内容来自www.paper51.com

客户方:打开一个通信通道,并连接到服务器所在主机的特定端口。向服务器发送服务请求报文,等待并接收应答;继续提出请求。请求结束后关闭通信通道并终止。 http://www.paper51.com

2网络基础知识简介2.1 OSI与TCP/IP参考模型的对应关系2.1.1 OSI参考模型

内容来自www.paper51.com

国际标准化组织(ISO)开发了开放式系统互联(OSI)参考模型,以促进计算机系统的开放互联。开放式互联就是可在多个厂家的环境中支持互联。该模型为计算机间开放式通信所需要定义的功能层次建立了全球标准。OSI模型将通信会话需要的各种进程划分成7个相对独立的功能层次,这些层次的组织是以在一个通信会话中事件发生的自然顺序为基础的。表1描述了OSI, 1-3层提供了网络访问,4-7层用于支持端端通信。

内容来自www.paper51.com

1、物理层是OSI模型的最低层,它建立在物理通信介质的基础上,规定了机械的、电气的功能;该层负责建立、保持和拆除物理链路;规定如何在此链路上传送原始比特流;比特如何编码,使用的电平,极性,连接插头插座的插脚如何分配等。所以在物理层数据的传送单位是比特(bit)。 copyright paper51.com

2、数据链路层它把相邻两个节点间不可靠的物理链路变成可靠的无差错的逻辑链路,包括把原始比特流分帧(frame)、顺序、排序、设置检错、确认、重发、流控等功能;数据链路层传动信息的单位是frame,每帧(frame)包括一定数量的数据和一些必要的控制信息,在每帧(frame)的控制信息中,包括同步信息、地址信息、流量信息等;同物理层相似,数据链路层负责建立、维护和释放数据链路。 http://www.paper51.com

3、网络层,它连接网络中任何两个计算机点,从一个节点上接收数据,正确的传送到另一个节点;在网络层,传送的信息单位是分组或包(packet)。网络层的主要任务是要选择合适的路由和交换节点,透明地向目的站交付发送站所发的分组或包,这里的透明表示收发两端好像是直接连通的,另外网络层还要解决网络互连、拥挤控制等问题。上述三层组成了所谓的通信子网,用户计算机连接到此子网上。通信子网负责把一个地方的数据可靠地传送到另一个地方,但并未实现两个地方主机上进行进程之间的通信,通信子网的主要功能是面向通信的。

内容来自论文无忧网 www.paper51.com

4、传输层上真正地实现了端对端通信,把数据可靠地从一方的用户进程或程序送到另一方的用户进程或程序。这一层的控制通常由通信两端的计算机完成。中间节点一般不提供这一层的服务,这一层的通信与通信子网无关。从这一层开始的以上各层全部是针对通信的最终的源端目的端计算机的进程之间的。传输层传送的信息单位是报文(message)。传输层向上一层提供一个可靠的端一端服务,使上一层看不见下面几层的通信细节。正因为如此,传输层成为网络体系结构中关键的一层,对于传输层的功能,主要在主机内实现。而对于物理层、数据链路层以及网络层的功能均能在报文接口机中实现。对于传输层之上的各个层次的功能通常在主机中实现。 copyright paper51.com

5、会话层又称对话层会话层允许两个计算机上的用户进程建立对话连接,双方相互确认身份,协商对话连接的细节;它可管理对话是双向同时进行的,还是任何时刻只能一个方向进行。在后一种情况下,对话层控制哪一方有权发送数据;对话层还提供同步机制,在数据流中插入同步点机制,在每次网络出现故障后可以仅重传最近一个同步点以后的数据,而不必从头开始。以上两层为两个计算机上的用户进程或程序之间提供了正确传送数据的手段。 内容来自www.paper51.com

6、表示层主要解决用户信息的语法表示问题。表示层将数据从适合于某一系统的语法转变为适合于OSI系统内部使用的语法。具体地讲,表示层对传送的用户数据进行翻译、编码和变换,使得不同类型的机器对数据信息的不同表示方法可以相互理解。 内容来自论文无忧网 www.paper51.com

7、应用层主要处理资源可用性和安全问题,它包含了大量人们普遍需要的协议,如FTP、TELNET、HTTP、SMTP等。最近几年,应用层协议发展很快,出现了很多新的应用,如ICQ、Multimedia stream等。

http://www.paper51.com

2.1.2 TCP/IP参考模型

http://www.paper51.com

与OSI参考模型不同,TCP/IP模(表2)更侧重于互联设备间的数据传送,而不是严格的功能层次划分。它通过解释功能层次分布的重要性来做到这点,但仍为设计者具体实现协议留下很大的余地。因此,OSI参考模型在解释互联网络通信机制比较适合,但TCP/IP成为了互联网络协议的市场标准。TCP/IP老-模型是在它所解释的协议出现很久以后才发展起来的,更重要的是,在于它更强调功能分布而不是严格的功能层次的划分,因此它比OSI模型更灵活。

copyright paper51.com

1 应用层 paper51.com

  应用层包括SMTP, FTP, HTTP, NFS, NIS, LPD, Telnet f II Remote Login应用层包括一些服务,这些服务在OSI中由独立的三层实现。这些服务是和用户相关的认证、数据处理以及压缩。包括电子邮件、浏览器、Telnet以及其他的Internet应用。 内容来自论文无忧网 www.paper51.com

2传输层 http://www.paper51.com

 传输层包括TCP (Transport Control Protocol,传输控制协议)和UDP (User Datagram Protocol,用户数据报协议)。UDP几乎不进行检查,而TCP提供传输保证。与OSI中传输层不一样,TCP不保证报文的准确传输。TCP为两台主机提供高可靠性的数据通信。而另一方面,UDP则为应用层提供一种非常简单的服务,它只是把称作数据报的分组从一台主机发送到另一台主机,但并不保证该数据报能到达另一端。任何必需的可靠性必须由应用层来提供。

http://www.paper51.com

 3网络层

http://www.paper51.com

   TCP/IP协议族中,网络层由以下协议组成:ICMP (Internt联网托制报文协议)、IP(网际协议)、IGMP (Internet组管理协议)、RIP, OSPF和路由的EGP网络层处理报文的路由管理。 内容来自论文无忧网 www.paper51.com

  4链路层

内容来自论文无忧网 www.paper51.com

   链路层包括ARP和RARP,负责报文传输。链路层管理网络的连接并提供网络上的报文输入/输出。 内容来自www.paper51.com

表1 OSI模型

copyright paper51.com

0 SI参考模型

内容来自论文无忧网 www.paper51.com

层次描述 内容来自论文无忧网 www.paper51.com

OSI层次号

copyright paper51.com

应用层

内容来自www.paper51.com

7

http://www.paper51.com

表示层

copyright paper51.com

6

内容来自www.paper51.com

会话层 内容来自论文无忧网 www.paper51.com

5

copyright paper51.com

传输层 内容来自www.paper51.com

4 内容来自www.paper51.com

网络层 内容来自www.paper51.com

3

内容来自www.paper51.com

数据链路层 copyright paper51.com

2 copyright paper51.com

物理层 内容来自www.paper51.com

1 copyright paper51.com

                       http://www.paper51.com

               http://www.paper51.com

       paper51.com

  表2 TCP/IP模型 http://www.paper51.com

TCP/IP参考模型层

copyright paper51.com

次描述 http://www.paper51.com

TCP/IP层次号

内容来自www.paper51.com

应用层

http://www.paper51.com

4

内容来自www.paper51.com

传输层

http://www.paper51.com

3

内容来自www.paper51.com

网络层

paper51.com

2 http://www.paper51.com

数据链路层 http://www.paper51.com

1

内容来自www.paper51.com

                                                                   内容来自论文无忧网 www.paper51.com

2.2 Windows Socket编程原理及操作步骤 内容来自论文无忧网 www.paper51.com

Windows Sockets是Microsoft Windows的网络程序设计接口,它是从Berkeley Sockets扩展而来的,以动态链接库的形式提供给我们使用。WindowsSockets在继承了Berkeley Sockets主要特征的基础上,又对它进行了重要扩充。这些扩充主要是提供了一些异步函数,并增加了符合Windows消息驱动特性的网络事件异步选择机制。Windows Sockets 1.1和Berkeley Sockets都是基于TCP/IP协议的;Windows Sockets 2从Windows Sockets 1.1发展而来,与协议无关并向下兼容,可以使用任何底层传输协议提供的通信能力,来为上层应用程序完成网络数据通讯,而不关心底层网络链路的通讯情况,真正实现了底层网络通讯对应用程序的透明。

paper51.com

流式套接字(SOCK_STREAM)

http://www.paper51.com

提供面向连接、可靠的数据传输服务,数据无差错、无重复的发送,且按发送顺序接收。

paper51.com

数据报式套接字(SOCK_DGRAM) 内容来自www.paper51.com

提供无连接服务。数据包以“独立包”形式发送,不提供无错保证,数据可能丢失或重复,并且接收顺序混乱。 http://www.paper51.com

原始套接字(SOCK_RAW)。 内容来自论文无忧网 www.paper51.com

基于TCP(面向连接)的socket编程:

内容来自论文无忧网 www.paper51.com

服务器端程序: 内容来自www.paper51.com

1、创建套接字(socket)。  

内容来自www.paper51.com

2、将套接字绑定到一个本地地址和端口上(bind)。 http://www.paper51.com

3、将套接字设为监听模式,准备接收客户请求(listen)。 copyright paper51.com

4、等待客户请求到来;当请求到来后,接受连接请求,返回一个新的对应于此次连接的套接字(accept)。

内容来自论文无忧网 www.paper51.com

5、用返回的套接字和客户端进行通信(send/recv)。

copyright paper51.com

6、返回,等待另一客户请求。 内容来自论文无忧网 www.paper51.com

7、关闭套接字。 内容来自论文无忧网 www.paper51.com

------分隔线----------------------------
联系方式