Funcionou sim, mas tive que fazer com que o cliente d� um ping de tempos em 
tempos no servidor, para evitar um timeout do in.readLine() causado por 
longos per�odos de inatividade do cliente.

Uma coisa � o cliente sumir, outra � ele ficar muito tempo inativo.

Ent�o ficou assim:

timeout de 10 minutos para o in.readLine();
ping de 4 em 4 minutos do cliente para colocar o in.readLine() para 
funcionar.

[]'s

Sergio
Sun Cerfied Java Programmer
Consultor Independente Jav



>From: Sergio - InfoSa�de RS <[EMAIL PROTECTED]>
>To: "'[EMAIL PROTECTED]'" <[EMAIL PROTECTED]>
>Subject: RES: [java-list] in.readLine() n�o retorna !!!
>Date: Mon, 11 Jun 2001 09:21:30 -0300
>
>E a� cara ????  Funcionou ???  Te pergunto isso pq estou desenvolvendo uma
>aplica��o que vai passar por este mesmo problema ....
>
>-----Mensagem original-----
>De: Sergio Oliveira Jr. [mailto:[EMAIL PROTECTED]]
>Enviada em: s�bado, 9 de junho de 2001 13:22
>Para: [EMAIL PROTECTED]
>Assunto: Re: [java-list] in.readLine() n�o retorna !!!
>
>
>
>Acho que a resposta estava na minha frente e eu n�o vi:
>
>socket.setSoTimeout().
>
>Vou testar e ver se funciona!
>
>[]'s
>
>Sergio
>
> >From: "Sergio Oliveira Jr." <[EMAIL PROTECTED]>
> >Reply-To: [EMAIL PROTECTED]
> >To: [EMAIL PROTECTED]
> >Subject: [java-list] in.readLine() n�o retorna !!!
> >Date: Sat, 09 Jun 2001 14:10:36 -0000
> >
> >Tenho um servidor Java que escuta numa porta via um ServerSocket e abre 
>um
> >Thread para cada requisi��o que ele recebe. Esse Thread recebe o socket e
> >abre um BufferedReader (in) e um PrintStream (out) para se comunicar com 
>o
> >cliente.
> >
> >O problema � o seguinte:
> >
> >Alguns in.readLine() fica bloqueados para sempre, ou seja, nunca 
>retornam.
> >
> >J� andei investigando e descobri que temos que usar
> >socket.setKeepAlive(true), para o TCPIP checar periodicamente se o socket
> >est� vivo ou se o cliente desapareceu silenciosamente. (Como experi�ncia,
> >conecte duas m�quinas via um socket e desligue o cabo de rede de uma 
>delas.
> >A outra vai ficar travada num in.readLine() eternamente se voc� n�o 
>estiver
> >usando o KeepAlive!)
> >
> >Tb temos que setar o parametro KeepAliveTime no registry do windows, que 
>o
> >intervalo em milisegundos que o Windows vai dar um ping no Socket para
> >saber
> >se ele ainda est� vivo. Se esse parametro n�o estiver presente no 
>Registry,
> >ele assume como default 2 horas!
> >
> >O problema � que mesmo fazendo esse esquema do KeepAliveTime, estou
> >desconfiado que alguns threads continuam travados para sempre no
> >in.readLine(), o que est� fazendo com que o meu servidor trave uma vez a
> >cada duas semanas por excesso de threads!
> >
> >Algu�m j� passou por problema semelhante? Tem como for�ar um retorno de 
>um
> >in.readLine() travado ? Se tiver acho ent�o que a solu��o poderia ser um
> >thread monitor para matar os threads que est�o travados a muito tempo.
> >
> >[]'s
> >
> >Sergio Oliveira Jr.
> >Sun Cerfied Java Programmer
> >Consultor Java
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >_________________________________________________________________________
> >Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com.
> >
> >
> >------------------------------ LISTA SOUJAVA ----------------------------
> >http://www.soujava.org.br  -  Sociedade de Usu�rios Java da Sucesu-SP
> >d�vidas mais comuns: http://www.soujava.org.br/faq.htm
> >regras da lista: http://www.soujava.org.br/regras.htm
> >para sair da lista: envie email para [EMAIL PROTECTED]
> >-------------------------------------------------------------------------
> >
>
>_________________________________________________________________________
>Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com.
>
>
>------------------------------ LISTA SOUJAVA ----------------------------
>http://www.soujava.org.br  -  Sociedade de Usu�rios Java da Sucesu-SP
>d�vidas mais comuns: http://www.soujava.org.br/faq.htm
>regras da lista: http://www.soujava.org.br/regras.htm
>para sair da lista: envie email para [EMAIL PROTECTED]
>-------------------------------------------------------------------------

_________________________________________________________________________
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com.


------------------------------ LISTA SOUJAVA ---------------------------- 
http://www.soujava.org.br  -  Sociedade de Usu�rios Java da Sucesu-SP 
d�vidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
para sair da lista: envie email para [EMAIL PROTECTED] 
-------------------------------------------------------------------------

Responder a