public void run() {
		try {
			this.tcpCommunication = new TCPCommunication(clientSocket);
		} catch(IOException e) {
			exit();
			return;
		}
		while(!interrupted() && clientSocket != null){
			try {
				String receivedMessage = tcpCommunication.receive();
				if(receivedMessage == null) {
					exit();
					break;
				}
				server.receiveMessage(receivedMessage, clientSocket);
			} catch (IOException e) {
				exit();
			}
		}
		//TODO perhaps send disconnect event from here
	}