第六章 P2P原理与实践

第六章 P2P原理与实践

6.1 p2p概述

p2p概念
P2P含义为“点对点”或者“端对端”学术界常称它为“对等计算”。p2p是一种以非集中式化方式使用分布式资源来完成一些关键任务的系统和应用。

P2P技术 打破了传统的C/S模式。每个节点地位都是对等的, 每个结点既充当服务器,又充当客户端。

p2p的技术特点
p2p的特点包括以下几个方面:

  • 非中心化(Decentralization):网络中的资源和服务分散在所有结点上,信息的传输和服务的实现都直接在结点之间就可以完成,无需中间环节和服务器的介入,避免了可能的瓶颈。P2P的非中心化基本特点,也为其可扩展性、健壮性带来优势。

  • 可扩展性:在P2P网络中,随着用户的加入,不仅服务的需求增加了,系统整体的资源和服务能力也在同步地扩充,理论上p2p网络的可扩展性是无限的。系统始终能满足用户的需求。

  • 健壮性:P2P架构天生具有耐攻击、高容错的优点。由于服务是分散在各个结点之间进行的,部分结点或网络遭到破坏对其它部分的影响很小。P2P网络一般在部分结点失效时能够自动调整整体拓扑,保持其它结点的连通性具有很强的耐攻击性和容错性。

  • 高性价比:采用P2P架构可以有效地利用互联网中散布的大量普通结点,将计算任务或存储资料分布到所有结点上。降低了企业维护中心服务器和购买大量网络设备的费用。

  • 隐私保护: 在P2P网络中,由于信息的传输分散在各节点之间进行而无需经过某个集中环节,用户的隐私信息被窃听和泄漏的可能性大大缩小。

  • 负载均衡: P2P 网络环境下由于每个节点既是服务器又是客户机,减少了对传统C/S结构服务器计算能力、存储能力的要求,同时因为资源分布在多个节点,更好的实现了整个网络的负载均衡。

6.2 p2p网络的分类
p2p网络的发展经历了不同的时代,一般可以分为4代。第一代p2p网络:中心化拓扑结构,第二代p2p网络:全分布式非结构化拓扑结构与全分布式结构化拓扑结构,第三代p2p网络:半分布式拓扑结构,第四代p2p网络:正在研究的p2p拓扑技术。
6.4 p2p编程实践

  1. 中心服务器的主要任务:
  • 创建Socket、绑定地址和端口号,监听并接受客户端的连接请求。
  • 服务器端在客户连接后自动获取客户端用户名、IP地址和端口号,并将其保存在服务器端的用户列表中,同时更新所有在线用户的客户端在线用户列表信息,以便方便客户了解上下线的实时情况,以进行聊天。
  • 当有用户下线时,服务器端要能即时监听到,并更新用户列表信息,发送给所有在线客户端。
  • 对在线用户数量进行统计。
  1. 客户端的主要任务:
  • 客户端创建Socket,并调用connect()函数,向中心服务器发送链接请求。
  • 客户端在登录后必须充当服务器,以接收其他用户的连接请求,所以需要创建一个用户 接收线程来监听。
  • 用户登录后需要接收来自服务器的所有在线用户信息列表,并更新本地的用户列表信息,以方便选择特定用户进行聊天。
  • 客户端可以使用群发功能,向在线用户列表中的所有用户发送聊天信息。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值