import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;

public class Lab2Server{
	private final static int PORT = 12345;

	private ServerSocket sSocket;



	Lab2Server(){
		sSocket = null;
	}



	public int start(){
		try{
			sSocket = new ServerSocket(PORT);
		}

		catch(IOException ioe){
			System.out.println("I/O error occured while creating a server socket");
			return -1;
		}
	
		int cid = 0;
		while(true){
			try{
				Socket cSocket = sSocket.accept();

				ClientHandlerThread cThread = new ClientHandlerThread(cSocket, cid++);
				cThread.start();
			}

			catch(IOException ioe){
				System.out.println("I/O error occured while accepting Client " + cid);
				return -1;
			}
		}
	}



	public static void main(String[] argv){
		int status      = 0;
		Lab2Server serv = new Lab2Server();
	
		System.exit(serv.start());
	}	
}
