01: //************ client for time uses multicast datagram ******** 02: 03: import java.net.MulticastSocket; 04: import java.net.DatagramPacket; 05: import java.net.InetAddress; 06: import java.util.Date; 07: import java.io.IOException; 08: 09: public class TimeReceiverMC { 10: public static void main(String[ ] args) { 11: try { 12: // Join multicast group. 13: InetAddress t_group = InetAddress.getByName(addr); 14: MulticastSocket mcs = new MulticastSocket(port); 15: mcs.joinGroup(t_group); 16: 17: // Prepare a packet to receive data. 18: byte[ ] t_bytes = new Date().toString().getBytes(); 19: DatagramPacket packet = 20: new DatagramPacket(t_bytes, t_bytes.length); 21: 22: // Receive 10 packets and then leave the group; 23: for (int i = 0; i < 10; i++) { 24: mcs.receive(packet); 25: System.out.println("From group: " + 26: new String(packet.getData())); 27: } 28: mcs.leaveGroup(t_group); 29: } 30: catch(IOException e) { System.err.println(e); } 31: } 32: private static final int port = 9977; 33: private static final String addr = "228.1.2.3"; 34: }