Invalid stream header [+ObjectInputStream]

2 respostas
renatojf

seguinte… eu tenho um cliente e um servidor…
o cliente manda o comando LIST pro servidor e este retorna os arquivos de um diretorio…

tudo funciona perfeitamente no modo debug (passo a passo)… porem, se eu rodo o programa normalmente, o servidor lança essa exception (invalid stream header) na linha 4…

output = new ObjectOutputStream(conexao.getOutputStream()); output.flush(); input = new ObjectInputStream(in);

alguma dica de como resolver isso?

2 Respostas

T

Simples - evite usar ObjectOutputStream e ObjectInputStream com sockets.
Se você não estudar e entender direitinho como funcionam (não adianta ler só o javadoc, você precisa ler e decorar o fonte), vai acabar tendo problemas quase insolúveis.
Um problema muito comum é ter vazamentos infernais de memória com ObjectOutputStream/ObjectInputStream.
Rapidamente seu cliente e seu servidor ficam sem memória.
Um colega nosso foi demitido por causa disso, porque foi suficientemente teimoso de persistir em usar ObjectInputStream e ObjectOutputStream com sockets; evite problemas com seu emprego.

renatojf

ta… e o q q eu uso entao? :stuck_out_tongue:

pq foi a unica coisa q eu axei na internet sobre cliente e servidor FTP usando sockets…

ps -> axei a commons-net tb mas naum posso usar ela na facul… professor pediu pra fazer na mao sem usar essa lib… :frowning:

Criado 22 de outubro de 2007
Ultima resposta 22 de out. de 2007
Respostas 2
Participantes 2