Pessoal estou com um problema na troca de mensagem da minha aplicação cliente/servidor. A Aplicação é feita em java com socket’s.
Após o cliente enviar o primeiro Objeto mensagem para o servidor, ele não consigo mais Atualizar os dados deste objeto mensagem. Em outras palavras parece que o cliente sempre envia os mesmos dados dentro do objeto mensagem.
Fazendo debug na aplicação comprovei que o cliente envia dados diferentes e o servidor que acaba recebendo os mesmos dados. Como se estivesse ficando um cache entre os dois.
O código de envio de mensagem por parte do cliente.
public boolean enviarPacote(Mensagem mensagem){
try {
out.writeObject(mensagem);
out.flush();
} catch (IOException e) {
e.printStackTrace();
return false;
}
return true;
}
O servidor possui um listener (extends Thread) que fica esperando as mensagens do cliente chegarem.
public void run(){
Mensagem mensagem = null;
try {
while(continuaServico){
try{
mensagem = (Mensagem) receber.readObject();
trataMensagem(mensagem);
}catch(SocketException e1){
terminarServico();
personagemConectado.desconectaCliente();
}
}
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
O atributo receber do servidor é um ObjectInputStream criado em outra classe;
O atributo out do cliente é um ObjectOutputStream criado na mesma classe;
Alguém já passou por este problema? Vocês saberiam alguma solução?
Qualquer dica ou ajuda é bem vinda.