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