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