//************ Datagram client for time ******** import java.net.DatagramSocket; import java.net.DatagramPacket; import java.util.Date; import java.util.Random; import java.io.IOException; // test client for TimeServerDG public class TimeReceiverDG { public static void main(String[ ] args) { Random r = new Random(); // used to vary the pause try { DatagramSocket sock = new DatagramSocket(port); // Create a receiving packet of the right size byte[ ] cargo = new Date().toString().getBytes(); DatagramPacket time_packet = new DatagramPacket(cargo, cargo.length); while (true) { sock.receive(time_packet); //*** blocks System.out.println("Server time: " + new String(time_packet.getData())); Thread.sleep(Math.abs(r.nextInt()) % 12 * 1000); } } catch(IOException e) { System.err.println(e); } catch(InterruptedException e) { System.err.println(e); } } private static final int port = 10001; }