@Override
	public void executeTask() {


			System.out.println(this.getClass().getSimpleName() + " EXECUTING");

			if (m_ServerSocket == null) {
				try {
					m_ServerSocket = new ServerSocket(PORT);
				} catch (IOException e1) {
					// TODO Auto-generated catch block
					e1.printStackTrace();
				}
			}

			do {

				String m_Input;
				String response;

				try {
					// m_ServerSocket.setSoTimeout(1000);
					m_RecievingSocket = m_ServerSocket.accept();
					PrintWriter out = new PrintWriter(
							m_RecievingSocket.getOutputStream(), true);
					BufferedReader in = new BufferedReader(
							new InputStreamReader(
									m_RecievingSocket.getInputStream()));

					while ((m_Input = in.readLine()) != null) {
						System.out.println("ECHO FROM REGISTRATION SERVLET: "
								+ m_Input);

						break;
					}

					Client client = new Client();
					client.setUsername(m_Input);
					client.setPort(1337);

					System.out.println("Got client: " + client.getUsername());

					if (RoutingTable.getInstance().registerClient(client)) {
						response = "200";
					} else {
						response = "401";
					}

					System.out.println("Response: " + response);

					out.println(response);

					out.flush();

					out.close();
					in.close();

					// try {
					// Thread.sleep(1000);
					// } catch (InterruptedException e) {
					// // TODO Auto-generated catch block
					// e.printStackTrace();
					// }

				} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}

			} while (isExecuting());

			onFinished();
		
	}