Windows网络编程 罗莉琴 詹祖桥 第11章

Windows网络编程 罗莉琴 詹祖桥 第11章

ID:40239750

大小:1.50 MB

页数:82页

时间:2019-07-28

Windows网络编程 罗莉琴 詹祖桥 第11章_第1页
Windows网络编程 罗莉琴 詹祖桥 第11章_第2页
Windows网络编程 罗莉琴 詹祖桥 第11章_第3页
Windows网络编程 罗莉琴 詹祖桥 第11章_第4页
Windows网络编程 罗莉琴 詹祖桥 第11章_第5页
资源描述:

《Windows网络编程 罗莉琴 詹祖桥 第11章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Windows网络编程实用教程授课教师:职务:第11章设计基于P2P技术的BT下载工具课程描述P2P(Peer-to-Peer,点对点)是一种网络新技术,它依靠网络中众多参与者的计算能力和带宽来提高数据处理和传输能力,而在传统模式下,这些事情都只能在较少的几台服务器上来完成。P2P技术的应用很广泛,在即时通信、在线流媒体和资源下载等应用中都可以使用P2P技术。本章将介绍P2P技术的工作原理和基于P2P技术的BT下载客户端程序的实现方法。本章知识点11.1P2P技术的工作原理和应用11.2系统主界面设计11.3加载主窗口11.4实

2、现BT下载11.1P2P技术的工作原理和应用11.1.1P2P技术的工作原理11.1.2P2P网络模型11.1.3BT下载11.1.4FTKernelAPI兼容BT协议网络内核库11.1.1P2P技术的工作原理一台服务器能够连接的客户端数量是有限的,为了提高网站的并发访问量,通常需要提供多台服务器,同时为客户端提供服务。使用传统模式下载Internet资源的示意图如下:C/S构架模型存在以下的不足作为网络的核心,如果服务器出现故障,则可能导致整个服务不可用。对服务器的硬件配置要求很高。因为服务器要承担所有客户端请求的计算和操作,

3、所以要求服务器具有很高的计算能力和并发处理能力,这就会增加硬件成本的投入。服务器的安全性变得尤为重要。如果攻击者集中力量对核心服务器进行攻击,则很可能导致整个网站瘫痪。一个访问量很大的网站必然需要配置很多的服务器,这也大大增加了硬件维持的成本。下载速度除了受客户端计算机的带宽影响外,还受服务器负载能力和带宽等因素的影响。P2P技术具有如下的特性共享发布的资源和服务:在P2P网络中,每个节点都可以同时提供客户端和服务器的双重功能。也就是说,每个节点既是资源(或服务)的提供者,也是资源(或服务)的消费者(获取者)。这里所指的资源可以

4、是信息、文件、带宽、存储或者处理器的周期等。分散:P2P网络在组织网络、使用资源和网络中节点之间互相通信时,并没有集中地协调管理机制。也就是说,没有节点可以集中控制其他节点。当然,不同的P2P模型在这一特性上的表现也不尽相同。纯P2P网络的设计原则是所有组件共享相同的权限,因此任意节点都没有整个网络的全局视图;而在混合P2P网络中,某些节点拥有索引和认证的功能,这种网络兼具P2P和C/S体系结构的特性。自治:P2P网络中的每个节点都可以自主决定什么时候、向什么范围的其他节点共享它的资源。使用P2P模式的缺点如下需要同时执行大量的

5、读写操作,对硬盘的损伤比较大。占用内存空间较大,影响整个系统的性能。P2P网络的层次结构11.1.2P2P网络模型1.纯P2P模型2.带有简单发现服务器的P2P模型3.带有发现和查找服务器的P2P模型4.带有发现、查找和内容服务器的P2P模型1.纯P2P模型2.带有简单发现服务器的P2P模型3.带有发现和查找服务器的P2P模型在带有发现和查找服务器的P2P模型中,服务器用于提供已连接对端的列表和每个对端的有效资源信息。因此,这种模型集合了纯P2P模型和带有简单发现服务器的P2P模型的特性,增强了服务器的能力。这种模型减少了对端的

6、压力,因为在下载数据之前不需要再单独访问每个对端获取其信息了,这些信息由服务器提供。服务器用于初始化两个对端的通信,然后相连的对端建立通信、保持连接并执行各种操作。4.带有发现、查找和内容服务器的P2P模型在这种模型中,服务器占有支配地位,这一点与C/S构架模型相似。所有对对端请求的响应都由服务器完成,而不是向前面几个模型中那样由两个对端独自完成。对端之间不允许直接相连,所有的资源都存储在中央服务器的数据库中。如果一个对端需要请求消息,则直接向服务器提出请求。服务器处理申请,并显示数据的来源。11.1.3BT下载1.BT下载的体

7、系结构2.BT下载的工作流程1.BT下载的体系结构2.BT下载的工作流程11.1.4FTKernelAPI兼容BT协议网络内核库创建一个MFC应用程序项目,打开项目属性对话框,在左侧的项目列表中选择“配置属性”/“C/C++”/“常规”,在右侧的“附加包含目录”栏中输入“..FTKernel_API”。配置附加库目录在项目属性对话框左侧的项目列表中选择“配置属性”/“链接器”/“常规”,在右侧的“附加库目录”栏中输入“..Lib”。配置附加库目录选择“配置属性”/“链接器”/“输入”,在右侧的“附加库目录”栏中输入“FTKe

8、rnelAPI.libFTKTCPxAPI.libFTKUDPxAPI.lib”,通常在FTKernelAPI应用程序中会引用这3个库文件。11.2系统主界面设计11.2.1系统主界面中包含的控件11.2.2设计菜单项11.2.3设计工具栏11.2.1系统主界面

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。