Cara, se a aplicacao em separada funciona nao tem pq nao funcionar no seu projeto todo. Vc nao ta sabendo readaptar ela.
Se nao conseguir deixei separado, mas o correto eh deixar junto e vc deve perder algo nisso, mas se nao conseguir, fazer o q :( Se atenha primeiro em acabar o restante e depois se prenda nisso, pq tem pouco tempo. De certa forma, vc vai ter atendido ao requisito da foto. []'s 2008/12/6 Flavio Costa <[EMAIL PROTECTED]> > Existe alguma exceção que é disparada quando, no projeto de verdade, a > imagem não consegue ser transferida? > O que acontece de fato? A transferência nunca termina? > > 2008/12/6 Felipe Ruiz <[EMAIL PROTECTED]> > > >> O aplicativo que consegue enviar a imagem foi feito só pra enviar a >> imagem. Quando eu o fiz, como eu não sabia se ia funcionar ou não, fiz >> em um projeto separado para não estragar o original. Na verdade ele é >> uma modificação de um código do GUJ. >> Para enviar eu pego o caminho da foto, "leio" o caminho através do >> método read() da ImageIO e depois uso o write(), também da ImageIO, >> para escrever num DataOutputStream - fazendo new DataOutputStream >> (socket.getOutputStream()). Para receber eu crio uma InputStream >> (socket.getInputStream()), uso o método read() da ImageIO pra ler >> desse InputStream e depois uso o write() pra "escrever" no HD. >> No projeto de "verdade" eu tento fazer a mesma coisa, só que não >> adianta. >> >> On 6 dez, 00:25, "Flavio Costa" <[EMAIL PROTECTED]> wrote: >> > Qual a diferença entre esse "mini" aplicativo *standalone* que consegue >> > enviar a imagem corretamente e a aplicação de "verdade"? >> > Vamos supor o seguinte modelo: >> > * >> > Entidade Candidato:* >> > >> > - Integer id >> > - String nome >> > - String partido >> > - String foto >> > >> > Essa propriedade *foto* é apenas o caminho no sistema de arquivos de >> onde a >> > foto está guardada (ex: *resources/images/canditato-<id>.jpg*) >> > Ao serializar este objeto, você não estará serializando a foto junto, >> logo >> > você precisará de outro Socket (e provavelmente outro ServerSocket no >> > servidor) que sirva apenas para transferir *bytes* ou seja, você irá >> > utilizar um *FileInputStream* do lado cliente para ler a imagem e >> escrever >> > no seu Socket, e do lado servidor este apenas irá escrever a imagem no >> lugar >> > adequado (isso talvez iria acarretar a necessidade de *avisar *ao >> servidor a >> > quem a foto que está sendo transferida pertence)... >> > >> > Não sei se ficou bem claro, mas resumindo a idéia e não tentar >> serializar a >> > imagem e sim transferí-la como ela é, *byte a byte*. Note que existe uma >> > grande diferença entre essas duas situações. >> > >> > []'s >> > >> > 2008/12/6 Felipe Ruiz <[EMAIL PROTECTED]> >> > >> > >> > >> > >> > >> > > Quando tem alguma imagem cadastrada ele não consegue ler a imagem. Eu >> > > já tentei usar tanto ObjectInputStream/ObjectOutputStream e ImageIO >> > > pra receber a imagem, mas nenhum dos dois funciona. Ele fica tentando >> > > ler a imagem até dar timeout. >> > >> > > On 6 dez, 00:06, "Flavio Costa" <[EMAIL PROTECTED]> wrote: >> > > > Dá que tipo de merda? >> > > > As vezes podemos tentar ajudar a resolver. >> > >> > > > []'s >> > >> > > > 2008/12/5 Felipe Ruiz <[EMAIL PROTECTED]> >> > >> > > > > Outra dúvida. Na hora de enviar as imagens do servidor pro >> cliente, >> > > > > quando tento fazer isso no projeto dá merda. Porém, se eu faço em >> um >> > > > > projeto separado eu consigo. Na hora de apresentar eu posso ter um >> > > > > programa auxiliar só pra enviar as imagens rodando? >> > >> > > > > On 30 nov, 16:28, "Flavio Costa" <[EMAIL PROTECTED]> wrote: >> > > > > > ServerSockets não possuem Streams de I/O apenas aceitam conexões >> e >> > > criam >> > > > > > Sockets. >> > > > > > Acho que o Buss me fez lembrar de uma coisa, você está usando um >> > > > > > ObjectInputStream em uma ponta e um ObjectOutputStream do outro >> lado >> > > > > certo? >> > > > > > Essa idéia de decorar o seu Socket.getInputStream num >> > > BufferedInputStream >> > > > > é >> > > > > > boa, vale a pena tentar. >> > >> > > > > > ObjectInputStream in = new ObjectInputStream(new >> > > > > > BufferedInputStream(socket.getInputStream())) >> > >> > > > > > 2008/11/30 Peter P. Lupo <[EMAIL PROTECTED]> >> > >> > > > > > > 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.caesse >> > > > > 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/<http://www.dcc.ufrj.br/%7Ebrunobuss/> >> <http://www.dcc.ufrj.br/%7Ebrunobuss/> >> > > <http://www.dcc.ufrj.br/%7Ebrunobuss/> >> > > > > <http://www.dcc.ufrj.br/%7Ebrunobuss/> >> > >> > > > > > > > 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 >> > >> > > > > > -- >> > > > > > Flávio Coutinho da Costa >> > >> > > > -- >> > > > Flávio Coutinho da Costa >> > >> > -- >> > Flávio Coutinho da Costa >> >> > > > -- > 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] --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
