-
简介
- DatagramSocket只允许数据报发送给指定的目标地址
- MulticastSocket可以将数据报以广播方式发送到数量不等的多个客户端
- 继承自DatagramSocket
- 当MulticastSocket把一个DatagramPacket发送到多点广播IP地址,
该数据报将被自动广播到加入该地址的所有MulticastSocket
- 实现多点广播的关键
- 多点广播的示意图
-
原理
- 若要使用多点广播时,则需要让一个数据报标有一组目标主机地址,
当数据报发出后,整个组的所有主机都能收到该数据报
- 设置一组特殊网络地址作为多点广播地址,
每一个多点广播地址都被看做一个组,
当客户端需要发送、接收广播信息时,加入到该组即可
- IP协议为多点广播提供了这批特殊的IP地址,
这些IP地址的范围是224.0.0.0至239.255.255.255
-
构造器
- public MulticastSocket():使用本机默认地址、随机端口来创建一个MulticastSocket对象。
- public MulticastSocket(int portNumber):使用本机默认地址、指定端口来创建一个MulticastSocket对象。
- public MulticastSocket(SocketAddress bindaddr):使用本机指定IP地址、指定端口来创建一个MulticastSocket对象。
-
方法
- 将该MulticastSocket加入到指定的多点广播地址
- jionGroup()方法来加入指定组
- leaveGroup()方法脱离一个组
-
比DatagramSocket多出来的方法
- setTimeToLive
- 例子