Seu socket é um Socket, um ServerSocket, um SSLSocket ou o que?
Já tentou encapsular num BufferedInputStream antes de passar pro
ObjectInputStream?
Se vc estiver usando ServerChannel, por acaso vc setou blocking pra
false? isto pode causar esta exceção...
mande o código para algum dos monitores...


Peter P. Lupo
Undergraduating in Computer Science DCC/UFRJ
MPS.BR Authorized Implementation Practitioner
Sun Certified Java Associate
http://pplupo.googlepages.com/
Cell. +55 (021) 81742487



2008/11/30 Bruno Buss <[EMAIL PROTECTED]>:
> Felipe... acho que você conseguiu ver que uma simples linha, pode disparar
> um efeito em cascata, que lá na décima chamada, ele da um exception... foi o
> que aconteceu com o seu código.
>
> Por causa do nível de abstração de java... não interprete tudo como "uma
> simples linha" ;)
>
>
> Assuma que eu não sei nada em Java.... porque não sei. Mas vou tentar dar
> meu chute do que está acontecendo.
>
> Bem, até onde li a classe ObjectInputStream serve para deserializar
> dados/objetos antes serializados com a classe ObjectOutputStream.
> (Totalmente copiado da API:
> http://java.sun.com/javase/6/docs/api/java/io/ObjectInputStream.html).
>
> Bem, suponho então que para transmitir os dados do cliente para o servidor,
> você esteja serializado-os com ObjectOutputStream, conectando ao socket,
> enviando, recebendo do outro lado (pelo socket.getInputStream()) e
> deserializando com o ObjectInputStream, cheguei perto até aqui?
>
> Vamos ver o que a função que causa o exception faz:
> "The readStreamHeader method is provided to allow subclasses to read and
> verify their own stream headers. It reads and verifies the magic number and
> version number. "
>
> Então basicamente, ele le o cabeçalho do stream para verificar se esta tudo
> certo.
>
>
>
> Porém ela está lançando uma StreamCorruptedException, que é lançada quando:
> "if control information in the stream is inconsistent".
>
> Logo, está chegando alguma porcaria que não deveria ai.
> Logo, eu consigo pensar em 2 coisas:
>
> a) Este socket está sendo reutilizado? Ou ele pode conter alguma "sujeira"
> ou resíduo de alguma comunicação anterior? Teria como você tentar limpar o
> buffer dele, antes de receber os dados?
> b) Este socket tem alguma coisa? Talvez por algum motivo, quando o seu
> ObjectInputStream é inicializado, o socket ainda não tenha recebido nenhum
> dado? Não seria possível antes de inicializar o ObjectInputStream, fazer um
> probe no socket para ver se ele ja tem informação no buffer?
>
>
> 2008/11/30 Zaedy Sayão <[EMAIL PROTECTED]>
>>
>> Isso ae pq ate agora eu nao entendi o q vc esta tentando fazer e qual o
>> problema real.
>>
>> Qual a linha nao descreve o problema nem o pq do erro......
>>
>> []'s
>>
>> 2008/11/30 Flavio Costa <[EMAIL PROTECTED]>
>>>
>>> Acho que assim vai ser dificil solucionar algum problema.
>>> Quem sabe se você postar no pastebin.com ou pastebin.ca esse pedaçõ de
>>> codigo e passar para a lista ou em separado talvez possamos ajudar.
>>>
>>> []'s
>>>
>>> 2008/11/30 Felipe Ruiz <[EMAIL PROTECTED]>
>>>>
>>>> O que mudou: antes não tinha a linha new ObjectInputStream
>>>> (socket.getInputStream()). Depois tinha a linha new ObjectInputStream
>>>> (socket.getInputStream());
>>>>
>>>> On 30 nov, 02:38, "Zaedy Sayão" <[EMAIL PROTECTED]> wrote:
>>>> > Cara,
>>>> >
>>>> > explica o q esta tentando fazer, o q mudou pra dar o erro pq assim,
>>>> > jogando,
>>>> > eu nao entendi necas :(
>>>> >
>>>> > []'s
>>>> >
>>>> > 2008/11/29 Pedro Philippe Rosanes <[EMAIL PROTECTED]>
>>>> >
>>>> >
>>>> >
>>>> >
>>>> >
>>>> > > Só pra avisar que nessa Thread do servidor, já conseguimos
>>>> > > instanciar um
>>>> > > BufferedReader e um ObjectOutputStream.
>>>> > > mas esse ObjectInputStream nao vai de jeito nenhum...
>>>> >
>>>> > > Felipe Ruiz escreveu:
>>>> > > > Estou com problemas agora com socket. Funciona tudo direitinho.
>>>> > > > Porém,
>>>> > > > se eu crio um ObjectInputStream(socket.getInputStream()), o
>>>> > > > eclipse me
>>>> > > > imprime isso:
>>>> > > > java.io.StreamCorruptedException: invalid stream header: 52656365
>>>> > > >       at java.io.ObjectInputStream.readStreamHeader(Unknown
>>>> > > > Source)
>>>> > > >       at java.io.ObjectInputStream.<init>(Unknown Source)
>>>> > > >       at
>>>> > > controle.ThreadConexaoCliente.<init>(ThreadConexaoCliente.java:35)
>>>> > > >       at
>>>> > > controle.ExecutavelServidor.recebeConexoes(ExecutavelServidor.java:
>>>> > > > 35)
>>>> > > >       at
>>>> > > > controle.ExecutavelServidor.main(ExecutavelServidor.java:23)
>>>> >
>>>> > > > ThreadConexaoCliente.java:35 --> aqui é onde está o
>>>> > > > ObjectInputStream
>>>> > > > (socket.getInputStream())
>>>> >
>>>> > > > Não consegui entender em que uma única linha de código muda
>>>> > > > tanto...
>>>> > > > Alguém sabe como consertar?
>>>> >
>>>> > > > On 27 nov, 19:12, "Zaedy Sayão" <[EMAIL PROTECTED]> wrote:
>>>> >
>>>> > --
>>>> > Zaedy Dantas Sayão
>>>> > Graduando em Ciência da Computação DCC/UFRJhttp://www.manufato.com.br/
>>>> > MSN: [EMAIL PROTECTED]
>>>>
>>>
>>>
>>>
>>> --
>>> Flávio Coutinho da Costa
>>>
>>>
>>
>>
>>
>> --
>> Zaedy Dantas Sayão
>> Graduando em Ciência da Computação DCC/UFRJ
>> http://www.manufato.com.br/
>> MSN: [EMAIL PROTECTED]
>>
>>
>
>
>
> --
> Bruno C. Buss
> http://magoobr.blogspot.com/
> http://www.dcc.ufrj.br/~brunobuss/
>
> Aluno do DCC - UFRJ - www.dcc.ufrj.br
>
> if( ((*node)->valor) < (((*heap)[((*node)->gr)])->valor)) /* WTF?! */
>
> "Throughout your life, advance daily, becoming more skillful than yesterday,
> more skillful than today. This is never-ending." - Hagakure
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Comp 
2 - Geral" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/comp2-geral?hl=en
-~----------~----~----~----~------~----~------~--~---

Responder a