酸菜猪蹄的程序人生
木下编程屯屯烫烫
Technorati 标签: , ,

本文只对IP协议进行说明。

组播,也称多播,其实只是一个英文单词Multicast的不同翻译而已。

在网络会议系统中常使用组播技术,避免各个网络节点间都建立连接(TCP)或者源需要向目的列表循环发送相同的数据包。

组播地址在224.0.0.0 到 239.255.255.255之间。但实际应用中,由于224.0.*.*网段中有些地址已经用作其他特殊用途,所以建议开发组播程序的时候从224.1.0.0开始选择。

多播地址

用途

2 2 4 . 0 . 0 . 0

基本地址(保留)

2 2 4 . 0 . 0 . 1

子网内的所有系统

2 2 4 . 0 . 0 . 2

子网内的所有路由器

2 2 4 . 0 . 1 . 1

网络时间协议

2 2 4 . 0 . 0 . 9

R I P第2版本组地址

2 2 4 . 0 . 1 . 2 4

W I N S服务器组地址

... ...

如果想进行组播,要使用UDP协议来进行。简单描述如下:

角色 步骤
发送方 建立UDP socket, 直接向组播地址端口发送即可。
接收方 1,建立UDP socket 假设命名为localsocket, 绑定组播的地址的端口
2,加入组,返回一个组的socket,假设为multisocket;
3,按需要从localsocket接收数据;
4,如果需要退出,先close掉multisocket退出组, 再close掉localsocket.

当然,如果既要发送也要接收,只要按照接收的步骤做就可以了。另外需要说明的是,目前跨路由器的组播都需要在路由器上面进行设置,否则路由器处于性能等方面(会出现几个应用使用的同一组播地址和端口的情况,世界大乱:))考虑是不会转发组播报到其他路由器的。

posted on 2007-09-27 22:29 cooelaf 阅读(3295) 评论(0)  编辑 收藏 引用 所属分类: 网络编程

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理