01: //************ Datagram client for time ********
02: import java.net.DatagramSocket;
03: import java.net.DatagramPacket;
04: import java.util.Date;
05: import java.util.Random;
06: import java.io.IOException;
07:
08: // test client for TimeServerDG
09: public class TimeReceiverDG {
10: public static void main(String[ ] args) {
11: Random r = new Random(); // used to vary the pause
12: try {
13: DatagramSocket sock = new DatagramSocket(port);
14: // Create a receiving packet of the right size
15: byte[ ] cargo = new Date().toString().getBytes();
16: DatagramPacket time_packet =
17: new DatagramPacket(cargo, cargo.length);
18: while (true) {
19: sock.receive(time_packet); //*** blocks
20: System.out.println("Server time: " +
21: new String(time_packet.getData()));
22: Thread.sleep(Math.abs(r.nextInt()) % 12 * 1000);
23: }
24: }
25: catch(IOException e) { System.err.println(e); }
26: catch(InterruptedException e) { System.err.println(e); }
27: }
28: private static final int port = 10001;
29: }