ObjectInputStream/ObjectOutputStream

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???

De acordo com a API da Sun…

Mais informações… EOFException

T+

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+