[SOCKETs] - Mensagem trocadas entre servidor e cliente com a mesma conexão

Boa noite,

Estou criado uma aplicação para um futuro jogo da vellha.

Porem até agora só consegui fazer o servidor enviar UMA mensagem e o cliente responder uma vez tambem.

Mas como o jogo da velha será necessário a troca continua de mensagens, gostaria de saber o que eu posso fazer.

Segue abaixo o que estou fazendo, caso tenham alguma sugestão, por favor me falem, estou precisando muito.

//SERVIDOR

public class Servidor {

public static void main(String[] args) throws IOException {

	ServerSocket server;
	Socket conexao;

	try {
		//Inicializar uma determinada porta do computador
		server = new ServerSocket(2020, 100);
		//Esperando que uma conexão seja estabelecida
		
		
		while(true){
			System.out.println("Aguardando conexão...");
			conexao = server.accept();
			
			if (conexao != null){
				
				ObjectOutputStream output = new ObjectOutputStream(conexao.getOutputStream());
				output.writeObject("<<servidor>>");
				System.out.println("Servidor comunicou cliente! ..");
				
				//Se conectado capturar o InputStream do cliente
				ObjectInputStream input = new ObjectInputStream(conexao.getInputStream());
				String linha = (String) input.readObject();
				if (linha == null)
					System.out.println("Mensagem Vazia");
				else
					System.out.println("Mensagem : " + linha);
				
				
			}
			//Fechar conexão
			conexao.close();
		}
	} catch (IOException e) {
		e.printStackTrace();
	} catch (ClassNotFoundException e) {
		e.printStackTrace();
	}
}

}

// CLIENTE

public class Cliente {

public static void main(String[] args) throws UnknownHostException ,IOException {

	Socket client;
	String ipServidor;

	//Conectar em uma máquina servidora
	try {
		client = new Socket("localhost", 2020);
		System.out.println("Servidor: " + client.getInetAddress().getHostName());

		if (client != null ) {
			ObjectInputStream input = new ObjectInputStream(client.getInputStream());
			String linha;
			linha = (String) input.readObject();
			if (linha == null)
				System.out.println("Mensagem do server Vazia");
			else
				System.out.println("Mensagem do server : " + linha);

			//Enviar uma mensagem texto
			ObjectOutputStream output = new ObjectOutputStream(client.getOutputStream());

			Scanner teste = new Scanner(System.in);

			output.writeObject(teste.nextLine());
			System.out.println("Mensagem enviada");
		}
		//Fechar conexão
		client.close();
	} catch (UnknownHostException e) {
		e.printStackTrace();
	} catch (IOException e1) {
		e1.printStackTrace();
	} catch (ClassNotFoundException e1) {
		e1.printStackTrace();
	}
}

}

Obrigado.
Lucas Limeira