/* sample program for tcp communication
// Compiling
   javac jserver.java
// Execution
   java jserver
*/
import java.io.*;
import java.net.*;
import java.util.*;
class jserver {
	public static final int PORT = 10001;
	private static String messages[] = 
	{ "***************************",
	"*** Welcome to Java World! ***",
	"***************************"  };
	public static void main(String[] args) {
//		if (args.length != 1) {
//			System.err.println("Usage: java jserver portnum");
//			System.exit(-1);
//		}
		try {
//		int PORT = Integer.parseInt(args[0]);
			ServerSocket Socket1 = new ServerSocket(PORT);
			System.out.println("Waiting for connection\n");
			while (true) {
				Socket Socket2 = Socket1.accept();
				String remoteName = Socket2.getInetAddress().getHostName();
				Date aDate = new Date();
				String logMessage = remoteName + " connected at " + aDate.toString();
				System.out.println(logMessage);
				BufferedWriter aWriter = new BufferedWriter(new OutputStreamWriter(Socket2.getOutputStream()));
				for (int i = 0; i < messages.length; i++) {
					aWriter.write(messages[i],0,messages[i].length());
					aWriter.newLine();
				}
				aWriter.close();
				Socket2.close();
			}
		} catch (SocketException e) {
			System.err.println("Socket Error");
			System.exit(-1);
		} catch (IOException e) {
			System.err.println("Socket Error");
			System.exit(-1);
		}
	}
}
