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: }