01: //***************** Multicast Time Server ***************************
02: import java.net.InetAddress;
03: import java.net.MulticastSocket;
04: import java.net.DatagramPacket;
05: import java.util.Date;
06: import java.io.IOException;
07:
08: public class TimeServerMC {
09: public static void main(String[ ] args) {
10: try {
11: // Join group at network address.
12: InetAddress t_group = InetAddress.getByName(addr);
13: MulticastSocket mcs = new MulticastSocket(port);
14: mcs.joinGroup(t_group);
15:
16: DatagramPacket t_packet = null;
17:
18: // Multicast the time every 10 seconds.
19: while (true) {
20: byte[ ] t_bytes =
21: new Date().toString().getBytes();
22: t_packet = new DatagramPacket(t_bytes,
23: t_bytes.length, t_group, port);
24: mcs.send(t_packet);
25: Thread.sleep(winks);
26: }
27: }
28: catch(IOException e) { System.err.println(e); }
29: catch(InterruptedException e) { System.err.println(e); }
30: }
31: private static final int port = 9977;
32: private static final String addr = "228.1.2.3";
33: private static final int winks = 10000; // milliseconds
34: }