/*
 * Java Network Programming, Second Edition
 * Merlin Hughes, Michael Shoffner, Derek Hamner
 * Manning Publications Company; ISBN 188477749X
 *
 * http://nitric.com/jnp/
 *
 * Copyright (c) 1997-1999 Merlin Hughes, Michael Shoffner, Derek Hamner;
 * all rights reserved; see license.txt for details.
 */

import java.io.*;
import java.net.*;

public class DaytimeServer {
  public static final int DEFAULT_PORT = 13;
  public static void main (String[] args) throws IOException {
    if (args.length > 1)
      throw new IllegalArgumentException ("Syntax: DaytimeServer [<port>]");
    DatagramSocket socket = new DatagramSocket
      (args.length == 0 ? DEFAULT_PORT : Integer.parseInt (args[0]));
    DatagramPacket packet = new DatagramPacket (new byte[1], 1);
    while (true) {
      socket.receive (packet);
      System.out.println
        ("Received from: " + packet.getAddress () + ":" + packet.getPort ());
      byte[] outBuffer = new java.util.Date ().toString ()
        .getBytes ("latin1");
      packet.setData (outBuffer);
      packet.setLength (outBuffer.length);
      socket.send (packet);
    }
  }
} 
