PipeAdvertisement的使用

在Jxta的世界里,Peer之间互相通讯都是通过Pipe来实现的,无论是原始的Pipe还是JxtaServerPipe、JxtaServerSocket,都需要PipeAdvertisement来实例化,并在底层使用Pipe进行通讯。

在同一个Peer中,PipeAdvertisement只能注册一次,例如如果已经使用一个PipeAdvertisement实例化了JxtaServerPipe,那么在使用同样的PipeAdvertisement来实例化JxtaServerSocket时,就会抛出不能注册输入管道异常。

但是不同的Peer,可以使用同一个(ID和名称可以相同)PipeAdvertisement

对于提供相同功能的Peer(以达到冗余的目的,这也是p2p系统的特点),生成PipeAdvertisement的时候使用相同的Id,这样每个Peer都可以提供相同的服务(作为客户端的Peer只要连接到其中的任何一个即可),只要这些Peer没有全部down掉,服务就可以正常提供。这时候提供服务的Peer,没有必要通过远程发现PipeAdvertisement,如果本地没有发现,那么新建一个即可,因为这时组内所有该类型的PipeAdvertisement都是相同的。

你可能感兴趣的:(jxta)