Loading ...
Sorry, an error occurred while loading the content.

22517Re: [riojug] java.net.SocketException: Pipe quebrado

Expand Messages
  • Joao Paulo Fernandes
    Oct 1, 2009
    • 0 Attachment
      available ???  estamos falando do java.net.Socket ?


      2009/10/1 Felipe Gaucho <fgaucho@...>
       

      Tente ao inves de fechar o socket setar o "available" para zero...


      On 01.10.2009, at 13:18, Joao Paulo Fernandes <jpaulo.melo@...> wrote:

       

      Como assim gaucho não entendi :(.

      2009/10/1 Felipe Gaucho <fgaucho@...>
       

      Existe uma sequencia de caracteres interpretado por qualquer I/O java como fim de conteudo... Mas nao lembro mais :(


      On 01.10.2009, at 12:54, Andre Fonseca <aoqfonseca@...> wrote:

       

      Eu sei que vai soar como uma cambiarra... Mas nessa mesma implantação, para dizer que estava desconectando, eu enviava algo como um comando (palavra do tipo close, ou |tchau) e com isso a outra parte caso desse a exceção do fim de conexão sabia que foi proposital.


      Bem isso foi um jeito de fazer as coisas e funciona bem.  A questão que pode ser que tenha soluções melhores para isso, dai meu amigo o jeito  vai ser cair dentro da documentação. A pouco tempo tive contato com a api java.nio e acredito que nela possa ter algo mais interessante para usar caso você possa.


      abraços e espero ter ajudado
      Andre Fonseca

      2009/10/1 Joao Paulo Fernandes <jpaulo.melo@gmail.com>
       

      Sei, pois é Andre descobri que isso nao é um erro de outro mundo, acontece mesmo e é comum, agora o que fazemos no tratamento deste erro é outra historia, eu por exemplo tento conectar senão der certo ai jogo a exceção.


      2009/10/1 Andre Fonseca <aoqfonseca@...>
       

      João Paulo,


      Nas vezes que implementei diretamente threads, já tem um tempo, eu acabei por fazer o codigo dentro de um try catch e caso desse exceção de perda de comunicaçÃo eu tratava como um desconexÃo da outra parte.

      abraços
      Andre Fonseca

      2009/9/30 Joao Paulo Fernandes <jpaulo.melo@gmail.com>
       

      Pessoal estou tento um problema com socket, sei que não é recomendado , mas estou fechando o socket no lado sevidor

      dando um socket.shutdownInput(); socket.shutdownOutput(); socket.close(); porem do lado cliente creio que não esta recebendo a o FIN da conexão.
      Estou setando os parametros dest.setKeepAlive(true);  dest.setReuseAddress(true); dest.setTcpNoDelay(true); dest.setSoLinger(false, 0); tanto do lado cliente qnt do servidor.
      Mesmo assim do lado cliete esta acontecendo que o teste if(!destino.isClosed() && destino.isConnected() && !destino.isOutputShutdown()) esta reconhecendo como se a conexao estivesse ativa mesmo fechada no lado servidor e dando java.net.SocketException: Pipe quebrado
      Alguem ja passou por isso ?
      Obrigado, JP.



      --
      Abraços Sinceros e Agradecidos
      Andre Fonseca
      http://www.andrefonseca.net




      --
      Abraços Sinceros e Agradecidos
      Andre Fonseca
      http://www.andrefonseca.net


      Yahoo! Finance

      It's Now Personal

      Guides, news,

      advice & more.

      Ads on Yahoo!

      Learn more now.

      Reach customers

      searching for you.

      Weight Loss Group

      on Yahoo! Groups

      Get support and

      make friends online.


    • Show all 8 messages in this topic