Problema com socket

Dae galera…

Seguinte, tenho uma thread, nesta thread eu crio um serverSocket e um socket…

após conectado eu entro num loop “infinito”

while(true)
{
system.out.println(in.readUTF());
}

sendo o “in” um datainputstream.

minha dúvida é: como fechar esta thread/socket quando o cara clicar no botao FECHAR CONEXAO (por exemplo)
outra coisa, la do outro lado (no cliente), como eu verifico se o cara desconectou? se eu estou preso num in.readUTF() tbm…

vlw um abraço

Algo parecido com isto:

try {
    while(true)
    {
        system.out.println(in.readUTF());
    }
} catch (.......) {
}

:confused:

dexa eu complementar minha pergunta…
gerando exception eu ja consigo, quero algo perfeito, sem exception…

Pesquisa sobre um método chamado setsotimeout.

Não existe nada muito “perfeito” em sockets. Você precisa tratar certas condições de erro de qualquer maneira.

entao nao seria errado gerar exception para tratar uma conexao por exemplo?

vlw

Vc pode fazer assim…

try{
//código
} catch(Exception e){
//Seu tratamento qualquer...
}