eu to fazendo um programa que se comunica pela rede com outro…
anteriormente eu usava o DataInputStream e o DataOutputStream mas agora resolvi usar o ObjectInputStream e o ObjectOutputStream só que quando eu mando o ObjectInputStream ficar esperando pra receber alguma coisa ele da um erro (EOFException) com o Data isso naum acontecia.
alguem sabe de alguma alternativa para resolver isso???
tah valew cara…
mas eu num entendi como eu posso resolver isso se eh que eu posso…
Dá uma conferida nos objetos que estais enviando e verifica se algum parâmetro não é “Serializable”. T+
desculpa a ignorancia mas como eu faço isso???
Tens de verificar os tipos declarados do objeto que estais transferindo. Por exemplo:
public class MyObject implements Serializable {
public MyObject() {}
//getters & setters
}
Certifique-se de que tua classe é serializable e que os atributos da classe também implementam serializable. Já tive problemas transferindo objetos com elementos não serializáveis. T+
mas o erro ocorre mesmo quando eu to lendo alguma outra coisa que não é um objeto…
tipo uma boolean…
tipo acho que você não entendeu o que eu quero fazer
eu criei uma thread só pra ficar recebendo as coisas…
dai eu do o seguinte comando
Informacao info = (Informacao) in.readObject();
e é nessa linha que ele da o erro…
mas isso ocorre porque não tem nada pra ele ler e é pra ele ficar esperando o outro programa mandar algo para ele ler…
quando eu fazia isso com o DataInputStream ele não dava esse erro…
Então tenta isto:
//...
while (exec()) {
try {
Informacao info = (Informacao) in.readObject();
} catch (Exception e) {
wait(500);
}
}
//...
E controla a leitura com o exec(), implementando dentro dele quando o loop deve cessar. T+
consegui resolver o problema…
valew…
Olá. Sugiro que coloques aqui a resposta para que outras pessoas possam orientar-se também. T+