socket(四)–组播
文章目录
一、简介
前面介绍的tcp和udp通信,都是点对点通信。这里介绍另一种通信方式,组播,在同一组内,发送的消息,所有组员都能接收到。
二、知识点
2.1 组播地址
d类地址,即224.0.0.0到239.255.255.255为组播地址。
其中:
- 224.0.0.0到224.0.0.255为预留地址;
- 224.0.1.0到238.255.255.255为组播地址,全网有效;
- 239.0.0.0到239.255.255.255为本地地址(类似192.168地址),仅特定的本地范围内有效,包只在本地子网中传播;
三、关键类
3.1 java.net.MulticastSocket
组播socket,常用方法有:
joinGroup(InetAddress mcastaddr):加入组播;
leaveGroup(InetAddress mcastaddr):离开组播;
setLoopbackMode(boolean disable):是否接收自身发出的消息,false:接收 true:不接收;
send(DatagramPacket p):发送消息;
receive(DatagramPacket p) :接收消息;
3.2 java.net.DatagramPacket
报文,同udp通信一样,只是发送地址填组播地址。
四、示例代码
import java.net.DatagramPacket;
import java.net.InetAddress;
import java.net.MulticastSocket;
import java.util.Scanner;
public class MulticastMain {
public static void main(String[] args