import java.net.*;
import java.io.*;

public class KnockKnockTask implements Runnable {
	
	private Socket connection;
	
	public KnockKnockTask (Socket connection) {
		this.connection = connection;
	}
	
	public void run(){
		try {
			BufferedReader in = new BufferedReader(
				new InputStreamReader(connection.getInputStream()));
			PrintWriter out = new PrintWriter(new OutputStreamWriter(
				connection.getOutputStream()),true);
			String inputLine , outputLine;
			KnockKnockProtocol protocol = new KnockKnockProtocol();
			
			
			outputLine = protocol.processInput(null);
			out.println(outputLine);
			
			while ((inputLine = in.readLine()) !=null) {
				outputLine = protocol.processInput(inputLine);
				out.println(outputLine);
				if(outputLine.equals("Bye."))
					break;
			}
			out.close();
			in.close();
			connection.close();
		}catch(IOException e) {
			System.out.println(e);
			System.exit(1);
		}
	}
}
