VLP2P通信库的设计与实现(基于网络的虚拟实验平台)
摘 要
随着信息技术的发展,网络无疑为我们带了更多的便利,因此一个好的系统要具有网络功能。针对虚拟实验台系统的实际功能,采用P2P技术作为其网络通讯基础具有很大的优势:降低服务器资源占用,提高通讯传输效率。但由于NAT的广泛使用,使得不同的内网间系统通讯比较困难。希望P2P通讯具有实用价值,穿透NAT实现不同内网间的系统通讯是一个需要解决的重要问题。在基于网络的虚拟实验平台中,有很多功能涉及到网络通讯,为了提高系统的模块化程度,减少系统重复开发量,将网络通信部分独立出来,设计实现名为VLP2P的P2P通讯库。设计中,也设计了通讯库的测试程序。经实际测试,基本达到预期设计目标。
关键词:虚拟实验平台;P2P技术;UDP;穿透NAT;Scoket编程
Network-based Virtual Experimental Platform——
Design and Implementation of VLP2P Communication Library
Abstract
With the development of information technology, networks will provide us with more convenience undoubtedly. Therefore, a good system must have network functions. According to real functions of the virtual experiment platform, P2P technology has powerful benefits to decrease probability of using server resources and upgrade the transmission efficiency, as a base of networking communication. While, because of the existence of NAT issues, it is difficult to communicate among different local networks. To make P2P communication get values in real application, an important problem required to solve is the system communication among different networks by penetrating NAT.
[资料来源:http://Doc163.com]
There are many functions related to network communication in the virtual experiment platform based on network. For improve modularization of the system and decrease repetitive developing work, the network communication is extracted as an independent part to design and implement P2P communication library named VLP2P. In the thesis, the testing program for communication library is also designed. With real testament, it has proven that the communication library has achieved the initial purpose..
Key words: Virtual Experiment Platform; P2P Technology; UDP; Penetrating NAT; Socket programming
项目介绍
1 虚拟实验平台
虚拟实验平台是通过软件编程仿真各种电子器件,可以做各种电路实验及设计性实验、 基本电路实验、 直流电路、 交流电路、 动态电路、 这些功能模块成为虚拟平台与实验者之间的桥梁, 共同构成网上虚拟实验室系统,起到帮助学生完成实验任务。
2 平台网络通信
实现虚拟实验平台具有网络基本功能,实现虚拟实验平台具有网络基本功能,客户机和主机,客户机和客户机之间的即时通讯、文件的传输。由于采用了最新的P2P穿透NAT的技术,因此可以实现冲破局域网的限制,实现真正的异地连接,同学可以在家里利用一台普通的能够上网的PC,就能把老师布置的实验作业完成,并且,老师可以通过服务器端,了解进度情况,并且可以适时的指导其实验。 [版权所有:http://DOC163.com]
功能要求
实现虚拟实验平台具有网络基本功能,客户机和主机,客户机和客户机之间的即时通讯、文件的传输。
本设计实现了不同网络之间,利用UDP传输协议 ,使用穿越NAT的技术实现P2P网络通信。通过编写的测试程序,实现了通过VLP2P库进行文件传输的功能。基本达到预期设计目标,但在VLP2P通讯库的实现中,在软件可重用性方面还可以继续改进。
目录
1 引言 1 [资料来源:http://www.doc163.com]
1.1. 项目背景 1
1.2. 项目介绍 1
1.2.1 虚拟实验平台 1
1.2.2 平台网络通信 1
1.3. 项目要求 1
1.3.1 功能要求 1
1.3.2 B/S与 C/S 2
1.3.3 通信协议的选择 2
1.4. 项目难点及解决方法 2
1.4.1 IP处理问题 2
1.4.2 Client之间的通信问题 2
2. 网络基础知识介绍 2
2.1. SOCKET编程 2
2.2. P2P网络简介(INTRODUCTION) 3
3. 项目网络通信的实现过程 4
3.1. NAT的一些基本概念 4 [来源:http://www.doc163.com]
3.2. 通信过程 4
3.3. 通信过程总结 7
4. 实现代码及其效果简介 8
4.1. 程序主要功能介绍 8
4.2. 主要代码介绍 8
4.3.1 服务器监听过程主要代码 8
4.3.2 客户端连接过程主要代码 8
4.3.3 下载实验文本(客户端主要代码) 9
4.3.4 下载实验文本(服务器端主要代码) 9
4.3.5 P2P下载实验文本(客户端主要代码) 10
4.3.6 客户端P2P下载实验文本(服务器端主要代码) 11
4.3. 效果演示 12
4.3.1 开启服务及客户端登陆 12
4.3.2 通过服务器下载实验文本 13
4.3.3 退出连接 14
结 论 14
参考文献 14
附 录 16
致 谢 19
声 明 20
[资料来源:http://Doc163.com]