导读:
摘 要:分析了P2P基本概念及其基本工作原理,探讨了用JAVA实现p2p网络通信的技术,并用一个实例作了进一步阐述。
关键词:P2P,C/S,JAVA,XML,JDK ,TCP,UDP
一、 前言
P2P(Peer-to-Peer 端到端)模型是与C/S(客户/服务器)模型相对应。基于C/S的用户间通信需要由服务器中转,在C/S中的服务器故障将导致整个网络通信的瘫痪。。而基于P2P的用户间通信则是直接通信,去掉了服务器这一层,带来的显著优点是通信时没有单一的失败点,一个用户的故障不会影响整个P2P网络。本文提供了一种用JAVA实现P2P网络通信的方法。
二、P2P通信的关键技术分析
(一) 信息的传递
1.P2P通信模型
由上图可以看出,在P2P网络中,任意两个端点之间可实现直接通信。在基于C/S的网络中,客户端可以通过向服务器注册来实现彼此之间的定位(获得IP和端口)。对于P2P网络中,是如何实现彼此之间的定位和通信,下面做一阐述。
2.获得网络中可以通信端点的IP和端口
假设有一个端点A,欲和P2P网络中其他端点通信,在通信之前,端点A必须首先把自己的IP和端口通知P2P网络中的其他每一个端点。其他每个端点收到这个信息后,就获得了端点A的IP和端口,随后向端点
摘 要:分析了P2P基本概念及其基本工作原理,探讨了用JAVA实现p2p网络通信的技术,并用一个实例作了进一步阐述。
关键词:P2P,C/S,JAVA,XML,JDK ,TCP,UDP
一、 前言
P2P(Peer-to-Peer 端到端)模型是与C/S(客户/服务器)模型相对应。基于C/S的用户间通信需要由服务器中转,在C/S中的服务器故障将导致整个网络通信的瘫痪。。而基于P2P的用户间通信则是直接通信,去掉了服务器这一层,带来的显著优点是通信时没有单一的失败点,一个用户的故障不会影响整个P2P网络。本文提供了一种用JAVA实现P2P网络通信的方法。
二、P2P通信的关键技术分析
(一) 信息的传递
1.P2P通信模型
![](http://bbs.itren.cn/upload/2006121121135.gif)
由上图可以看出,在P2P网络中,任意两个端点之间可实现直接通信。在基于C/S的网络中,客户端可以通过向服务器注册来实现彼此之间的定位(获得IP和端口)。对于P2P网络中,是如何实现彼此之间的定位和通信,下面做一阐述。
2.获得网络中可以通信端点的IP和端口
假设有一个端点A,欲和P2P网络中其他端点通信,在通信之前,端点A必须首先把自己的IP和端口通知P2P网络中的其他每一个端点。其他每个端点收到这个信息后,就获得了端点A的IP和端口,随后向端点