package primer2;

import java.net.*;
import java.io.*;
import java.util.Date;

public class DaytimeServer {

	public final static int DEFAULT_PORT = 13;

	public static void main(String[] args) {

		int port = DEFAULT_PORT;

		if (args.length > 0) {
			try {
				port = Integer.parseInt(args[0]);
				if (port < 0 || port >= 65536) {
					System.out.println("Port must be between 0 and 65535");
					return;
				}
			} catch (NumberFormatException ex) {
				// default port
			}
		}

		try (ServerSocket server = new ServerSocket(port);) {

			while (true) {

				try (Socket connection = server.accept();) {
					Writer out = new OutputStreamWriter(connection.getOutputStream());
					Date now = new Date();
					out.write(now.toString() + "\r\n");
					out.flush();
				} catch (IOException ex) {
				}
			}
		} catch (IOException ex) {
			System.err.println(ex);
		}

	}

}
