Jini技术基础结构 - 编程入门网
次感。例如:一个特定的查找服务可以属于打印设备组,任何打印服务都可以注册到该查找服务中。当然,组都是预定义的。在Discovery的过程中,Discovery实体确定自己感兴趣的组,也就是自己希望加入的组,如果找到的查找服务也属于这样的组,Discovery实体就加入到这个查找服务中。这就避免了查找服务的结构过于庞大,把组织系统中服务的责任分摊给系统中多个不同的查找服务。目前,组的命名还没有一个明确的规范,Sun公司只是希望组的名字最好符合网络域名的命名规范,但是目前并没有给出如何定义组的名字的详细规范。我们相信在未来的发展过程中,随着对Jini系统中服务的组织结构层次性要求的提高,这种命名规范会随之完善起来的。
1.发现 在Discovery实体和查找服务交互过程中用到的协议一共有三个,分别是:多点传送请求协议(multicast request protocol)、多点传送宣布协议(multicast announcement protocol)和单点传送发现协议(unicast Discovery protocol)。这里首先对这三个协议进行简单的介绍。 多点传送请求协议。Discovery实体使用该协议以发现Jini系统中存在的查找服务。这个协议可用于设计浏览Jini系统中的服务的浏览器。 多点传送宣布协议。查找服务在启动后或者在网络崩溃的恢复过程中,利用该协议在系统中发布自己存在的数据报。 单点传送发现协议。当Discovery实体和查找服务中有一个知道了另一个的网络地址和端口号时,就采用该协议来主动建立两者之间点到点的通讯。 在Discovery的过程中,Discovery实体和查找服务的联系是建立在socket层上的。两者既是客户方,也是服务方。在通讯的过程中,分为两个阶段。 第一个阶段:Discovery实体和查找服务各自都建立了一个单点传送服务的服务器,可以理解为普通的Internet服务器,例如FTP协议中的FTP服务器,目的就是让Discovery实体和查找服务能够建立与对方的点到点的连接。现在面临的问题是:如何让双方知道对方的服务器地址?在第二个阶段的描述中会找到这个问题的答案。 第二个阶段:此时Discovery实体和查找服务都不知道对方的网络地址,但是根据Jini系统的要求,双方在网络层加入了特定的多点传送的组(这个组不是Jini系统中的组的概念,而是指网络协议中的组),而且双方都知道对方加入的网络组的组地址。由于网络协议支持向网络组中所有机器同时发送UDP数据包,利用这个特性,双方都向对方所属的组发送数据包。Discovery实体发送数据包的过程称为多点传送请求,在查找服务中发送数据包的过程称为多点传送广播宣布。在两者发送的数据包中都保存了各自的地址和其它必要信息。同时,双方都建立了一个收听发向本组的UDP数据包的服务器。Discovery实体所建立的服务器的服务称为多点传送广播收听服务,在查找服务中建立的服务器的服务称为多点传送广播请求服务。服务器把收到的数据包进行解码,就可以知道客户方的地址。在这个阶段中用到的协议就是多点传送请求协议和多点传送宣布协议。这时,Discovery过程就进入了第三个阶段。 Jini技术基础结构(2)时间:2010-12-21第三个阶段:此时Discovery实体和查找服务中有一个已经知道另一个的网络地址。这时双方就利用unicast 发现协议来进行通讯。协议的步骤如下: 第一步: 这一步有两个对等的过程。当查找服务的单点传送服务器收到Discovery实体的连接请求后,就建立了与Discovery实体的连接;或者是Discovery的单点传送服务器收到查找服务的连接请求,建立与查找服务的连接。两者之中那一个首先发起连接是等价的。双方都创建了一个线程来负责创建与对方服务器的连接。 第二步:当Discovery实体和查找服务建立连接后,由Discovery实体主动发送一个特定Discovery请求后,查找服务就把以后所需要用到 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |