频 道 直 达 - 新闻 - 读书 - 培训 - 教程 - 前沿 - 组网 - 系统应用 - 安全 - 编程 - 存储 - 操作系统 - 数据库 - 服务器 - 专题 - 产品 - 案例库 - 技术圈 - 博客 - BBS
51CTO.COM_中国领先的IT技术网站
找资料:

Java对等计算实践:基于IP多播的发现(1)

作者: Todd 出处:javajia.com  (  ) 砖  (  ) 好  评论 ( ) 条  进入论坛
更新时间:2007-06-11 11:10
关 键 词:IP  多播  Java  P2P
阅读提示:本文主要提供的是一种基于 IP 多播的发现的实现。

要完成有用的工作,P2P 应用程序中的对等点必须能够彼此发现对方并与对方交互。本文提供了一种基于 IP 多播的发现的实现。

在软件实体能够参与具有 P2P 应用程序特征的直接的对等交互之前,该实体必须发现将要与之交互的适当的对等点。所有可行的 P2P 体系结构都提供一种针对发现问题的解决方案。在本文我将描述其中一种机制的实现。让我们通过回顾来开始今天的讨论。再访发现 对等点发现使 P2P 应用程序中的对等点能够彼此定位以便相互之间可以交互。实现对等点发现服务有多种方法。最简单的机制是显式点到点配置。这种机制通过要求每个对等点知道所有它可能与之交互的其它对等点,并与它们相连,来进行工作。点到点配置的主要优点是简单。它的主要缺点是缺乏灵活性并且缺少扩展到对等点的大型网络的能力。

发现的另一个公共模型是使用中央目录作为中介。该模型在许多传统的、非 P2P 分布式类型的应用程序中间很流行,其优点是很好理解。对等点向中央目录注册自己的存在,并使用中央目录定位其它对等点。这种模型的主要优点是易于管理和扩展的能力。但是,其集中化设计会导致单点故障,因此它对自然力或网上冲浪人数增加所带来的危害缺乏抵御能力。

许多流行的 P2P 应用程序使用网络模型而不是中央目录,在网络模型中,单个对等点只知道局域网络上的对等点身份。每个对等点都作为那些与之相连的对等点的目录。对等点通过向相邻对等点传播目录查询并返回相关的响应来进行合作。这种模型的主要优点是没有集中化。它的主要缺点是由于传播查询耗费了大量的网络和处理能力。

上面三种机制有无数种变体。不讨论这些变体了,让我们继续前进并研究另一种发现机制。

IP 多播发现

就每个对等点维护自己的目录这点而言,多播模型类似于网络模型。但是,对等点不通过合作来实现大规模网络查询。另外,对等点利用网络本身提供的特性(IP 多播)来定位和标识其它对等点。

IP 多播是无连接和不可靠的(不象 TCP/IP 是面向连接和可靠的)。虽然它使用 IP 数据报;但是不象单播 IP 数据报那样是从一台主机发送到另一台主机,多播 IP 数据报可以同时发往多台主机。

对等点定期使用 IP 多播来宣布自己的存在。宣布包含了它们的主机名和一个用于正常通信的端口。对此消息感兴趣的对等点检测这个消息后,抽取出主机名和端口号,并使用该消息建立一个通信通道。

回顾已经足够了。让我们开始研究代码吧。

简单的客户机与服务器

我们将从一个简单的示例开始,该示例演示了两个进程如何使用 IP 多播进行通信。为了简化演示,我将分别从客户机和服务器进程这两个方面来介绍示例。P2P 应用程序通常会实现这两个进程,将它们划分为客户机或服务器并不容易。

在本例中,服务器进程进行循环并等待数据报包的到来。每接收到一个包,服务器就会向控制台打印一条简短的诊断消息。客户机角色要简单得多 — 它多播单个数据报包并退出。

清单 1 和 2 说明了这两部分是如何组合在一起的。代码中的注释说明了正在发生的事情。

清单 1. 简单服务器

public
class Server
{
public
static
void
main(String [] arstring)
{
try
{
// Create a multicast datagram socket for receiving IP
// multicast packets. Join the multicast group at
// 230.0.0.1, port 7777.
MulticastSocket multicastSocket = new MulticastSocket(7777);
InetAddress inetAddress = InetAddress.getByName("230.0.0.1");
multicastSocket.joinGroup(inetAddress);
// Loop forever and receive messages from clients. Print
// the received messages.
while (true)
{
byte [] arb = new byte [100];
DatagramPacket datagramPacket = new DatagramPacket(arb, arb.length);
multicastSocket.receive(datagramPacket);
System.out.println(new String(arb));
}
}
catch (Exception exception)
{
exception.printStackTrace();
}
}
}

共4页: 1 [2] [3] [4] 下一页
【内容导航】
发表
查看
我也说两句

匿名发表

(如果看不清请点击图片进行更换)


中 国 领 先 的 IT 技 术 网 站 ·
技 术 成 就 梦 想
·路由器设置与口令恢复 (查看64920次)
·常用交换机典型配置 (查看37738次)
·网络管理员考试全真模拟试题(八.. (查看33921次)
·三层交换技术专题 (查看29084次)
·子网掩码教程 (查看26681次)
订阅技术快讯
电子杂志下载
名称:网络安全精品应用黄皮书
简介:《2007精品网络安全黄皮书》包括了9个大类24个小类, 800余篇文章,内容包含了熊猫烧香病毒、DDOS攻击、ARP病等热点问题的介绍及解决方案。从病毒查杀、防范、系统、数据等各方面的安全设置到黑客技术的了解、防范,涉及到了安全应用的全部领域, 由浅至深内容全面。
名称:Vista精品应用黄皮书
简介:《Vista精品应用黄皮书》囊括了Vista的各方面内容。此次的精简版,是将里面的内容做了提取,便于用户下载和使用。内容包含了各种Vista的安装与实施、技巧与解析以及各种Vista相关学习文档和相关软件的安全下载。该电子书是了解和应用Vista人员必备的工具手册,并且也是第一本
名称:2006中国IT论坛精品集合
简介:本书由“51CTO论坛推广联盟”制作完成。书中所有内容均来自各联盟成员的论坛(网站)。制作本书的目的是为了集中大家的优势资源,将更多更精彩的内容带给广大技术爱好者。本书是联盟成立以来制作的第一本书。
关键字阅读
频道精选
主编信箱 热线:010-66476606 告诉我们您想看的:专题 文章
关于我们 | 诚聘英才 | 联系我们 | 网站大事 | 意见反馈 | 网站地图
Copyright©2005-2007 51CTO.COM 版权所有