播資料報套接字類用於傳送和接收 IP 多播包。MulticastSocket 是一種 (UDP) DatagramSocket,它具有加入 Internet 上其他多播主機的“組”的附加功能。以下是小編為大家搜尋整理的Java多播套接字的方法,希望能給大家帶來幫助!更多精彩內容請及時關注我們考試網!
多播組通過 D 類 IP 地址和標準 UDP 埠號指定。D 類 IP 地址在 和 的`範圍內(包括兩者)。地址 被保留,不應使用。
方法
可以通過首先使用所需埠建立 MulticastSocket,然後呼叫 joinGroup(InetAddress groupAddr) 方法來加入多播組:
// join a Multicast group and send the group salutations
...
String msg = "Hello";
InetAddress group = yName("");
MulticastSocket s = new MulticastSocket(6789);
Group(group);
DatagramPacket hi = new DatagramPacket(ytes(), th(),
group, 6789);
(hi);
// get their responses!
byte[] buf = new byte[1000];
DatagramPacket recv = new DatagramPacket(buf, th);
ive(recv);
...
// OK, Im done talking - leave the group...
eGroup(group);
將訊息傳送到多播組時,該主機和埠的所有預定接收者都將接收到訊息(在資料包的生存時間範圍內,請參閱下文)。套接字不必成為多播組的成員即可向其傳送訊息。
當套接字預定多播組/埠時,它將接收由該組/埠的其他主機發送的資料報,像該組和埠的所有其他成員一樣。套接字通過 leaveGroup(InetAddress addr) 方法放棄組中的成員資格。多個 MulticastSocket 可以同時預定多播組和埠,並且都會接收到組資料報。
同時,不允許 applet 使用多播套接字