java認證

  播數據報套接字類用于發送和接收 IP 多播包。MulticastSocket 是一種 (UDP) DatagramSocket,它具有加入 Internet 上其他多播主機的“組”的附加功能。

  多播組通過 D 類 IP 地址和標準 UDP 端口號指定。D 類 IP 地址在 224.0.0.0 和 239.255.255.255 的范圍內(包括兩者)。地址 224.0.0.0 被保留,不應使用。

  可以通過首先使用所需端口創建 MulticastSocket,然后調用 joinGroup(InetAddress groupAddr) 方法來加入多播組:

  // join a Multicast group and send the group salutations

  ...

  String msg = “Hello”;

  InetAddress group = InetAddress.getByName(“228.5.6.7”);

  MulticastSocket s = new MulticastSocket(6789);

  s.joinGroup(group);

  DatagramPacket hi = new DatagramPacket(msg.getBytes(), msg.length(),

  group, 6789);

  s.send(hi);

  // get their responses!

  byte[] buf = new byte[1000];

  DatagramPacket recv = new DatagramPacket(buf, buf.length);

  s.receive(recv);

  ...

  // OK, I‘m done talking - leave the group...

  s.leaveGroup(group);

  將消息發送到多播組時,該主機和端口的所有預定接收者都將接收到消息(在數據包的生存時間范圍內,請參閱下文)。套接字不必成為多播組的成員即可向其發送消息。

  當套接字預定多播組/端口時,它將接收由該組/端口的其他主機發送的數據報,像該組和端口的所有其他成員一樣。套接字通過 leaveGroup(InetAddress addr) 方法放棄組中的成員資格。多個 MulticastSocket 可以同時預定多播組和端口,并且都會接收到組數據報。

  同時,不允許 applet 使用多播套接字。