在前面我们讲到管道通信都是单向不可靠的。如果JXTA只提供它,那JXTA就太逊了。当然不可能,JXTA不只提供单向不可靠的通信渠道,也提供了双向可靠的通信渠道,在基于JXTA管道提供单向,不可靠的通信渠道。由于管道对于服务和应用更加有用,在管道上实现双向和可靠通信渠道是很重要的。JXSE提供了满足大多数应用相对高水平的要求的功能:即,可靠,确保信息顺序,确保传递,公开信息和接口,安全。这才是JXSE追求的理想中的通信渠道。从最早的版本提供的BidirectionPipeService到现在的JxtaServerPipe和JxtaBiDiPipe,JxtaServerSocket和JxtaSocket。
下面我们来说说这两种不同双向可靠的通信渠道存在什么共同点和不同点。
1、共同点:建立在管道之上,端点信使,和可靠数据包;
提供双向,可靠和安全的通信渠道
不同点:JxtaSocket and JxtaServerSocket
1、公开一个流基本接口
2、提供可配置的内部缓冲和信息块
3、流一定要清空
JxtaBidiPipe and JxtaServerPipe:
1、共开一个信息基本接口
2、不提供信息块,所以在程序中必须要注意信息最大不要超过标准信息大小64K。
站在更高一层面看,其实两种的建立连接和通信的过程都一样的。
我们可以看到两个都有一个Server,其实在这里Server只是起到连接作用。而且真正的通信是JxtaBidiPipe,JxtaSocket。这样说可能大家还是不太清楚,下面给出一个图,就很容易理解了。
(在javaeye上老是贴不了图,真不爽)图的地址:http://dl.iteye.com/upload/picture/pic/59265/5f19fcf7-1f71-3707-a263-2cc98278ceb5.jpg
从上图我们可以看到,其实就是利用JxtaBiDiPipe,JxtaSocket来通信。只是两个节点间建立起这两种渠道,就可以进行双向可靠的通信。
分享到:
相关推荐
本文将深入探讨如何在JXTA环境中利用`JxtaServerPipe`和`JxtaBiDiPipe`实现双向可靠的通信。这两个类是JXTA提供的核心组件,用于在节点间建立可靠的通信管道。 首先,让我们了解`JxtaServerPipe`。这是一个服务器端...
书中会介绍JXTA提供的安全机制,如证书管理、加密和签名,以确保在P2P网络中的通信安全可靠。 总的来说,"精通JXTA"是一本全面而深入的JXTA指南,不仅适合初学者理解P2P网络的基本概念,也适合有经验的开发者深化对...
2. **管道(Pipes)**:管道是JXTA中数据通信的基础,允许节点间双向传输消息。chapt13code.zip可能包含建立和使用不同类型的管道(如单播、广播或多播管道)的代码。 3. **服务发现**:JXTA提供了自动发现网络中可用...
2. **管道(Pipes)**:JXTA中的管道是一种双向通信通道,可以用来在任意两个节点间传递数据。有多种类型的管道,如流管道(Stream Pipe)适合传输大量数据,而消息管道(Message Pipe)则适用于低延迟、高频率的小...
5. **管道通信**:管道是JXTA中节点间通信的主要机制,支持单向和双向数据流。理解管道的工作原理和创建、连接、发送和接收数据的方法是必要的。 6. **安全与隐私**:JXTA提供了安全特性,如基于证书的身份验证和...
JXTA中需要加密通信,例如在身份验证和数据传输过程中,Bouncy Castle库提供了必要的加密服务。 3. **org.mortbay.jetty.jar**:Jetty是一款轻量级的HTTP服务器和Servlet容器,被用作JXTA的一部分,以支持P2P网络中...
jxta.jar p2p jxta.jar p2p jxta.jar p2p
3. **管道(Pipes)**: 管道是JXTA中的通信机制,允许节点之间进行双向、可靠的数据传输。管道分为点对点管道和多对多管道。 4. **服务(Services)**: JXTA提供了多种服务,如身份验证、发布/订阅、文件共享等,...
1. **JXTA架构**:JXTA的体系结构基于几个关键组件,包括广告(Advertisements)用于发布资源信息,管道(Pipes)作为通信通道,以及对等组(Peer Groups)来组织网络中的节点。理解这些概念对于有效地使用JXTA至关...
1. **对等网络(Peer-to-Peer Network)**:在JXTA中,每个节点既是服务提供者也是服务消费者,所有设备地位平等,无需中心服务器进行协调。 2. **边缘计算(Edge Computing)**:JXTA强调在网络边缘进行数据处理和...
这个开发包源自官方站点 **jxta.org** ,并经过了安全检查,确保无病毒,为开发者提供了安全可靠的开发环境。P2P技术是一种分布式计算模型,允许网络中的每个节点既是客户端也是服务器,共享资源和服务。 JXTA...
同时,JXTA提供了安全机制,包括数字签名、加密和身份验证,确保在P2P网络中的数据传输安全可靠。 ### 学习JXTA的价值 掌握JXTA技术能够帮助开发者构建出分布式的、自组织的网络应用,特别适用于物联网(IoT)环境...
在JXTA 2.7中,重点在于Shell 2.5,这是一个命令行界面工具,开发者可以使用它来管理JXTA网络,执行各种任务,如配置节点、发布和查找资源、监控网络状态等。Shell 2.5提供了更友好的用户交互体验,增强了命令的...
内容在JXTA中被定义为任何需要共享的数据,每份共享内容通过其二进制代码产生的128位MD5校验值作为唯一标识,这不仅便于确认多个文件内容的一致性,还用于检索内容,帮助寻找距离请求Peer最近的目标Peer,从而提高...
在JXTA中,这种模式使得设备可以高效地共享信息和资源,尤其适用于大规模、动态变化的网络环境。 **JXTA HelloWorld实例** "HelloWorld"是编程入门的标准例子,通常展示如何初始化和执行最基本的程序功能。在JXTA...
在JXTA中,XML常用于表示资源广告、服务描述等信息,因此"jdom.jar"对于构建基于XML的P2P应用至关重要。 结合这三个组件,开发者可以构建出一个具备P2P网络连接、安全通信和XML数据处理能力的系统。例如,通过JXTA...
**P2PSocket_JXTA**则是JXTA中的一种特殊类型的套接字,它扩展了传统的Java Socket API,使它们能够工作在P2P环境中。P2PSocket允许开发者像使用普通TCP/IP套接字一样建立和管理P2P连接,但同时提供了P2P网络的特性...
在JXTA中,P2pSocket是实现节点间通信的重要组件。** **P2pSocket是JXTA网络中的一个关键概念,它是基于TCP/IP的对等socket,允许P2P网络中的节点直接建立连接并交换数据。P2pSocket的使用类似于传统的Java Socket...
3. **管道(Pipes)**: JXTA中的通信通道,允许对等节点之间传输数据。有广播和多播两种类型,分别用于一对多和多对多通信。 4. **广告(Advertisements)**: 用于发布和发现网络资源的标准化数据结构。每个资源都...