Socket Conexão sempre ativa

Galera estou com um problema, criei um servidor de socket que recebe socket de um aparelho gps, este por si cria uma objeto inputstream, e nele fico lendo todos os dados passado pelo aparelho, até ai tudo bem.

Mas se por ventura o aparelho perder o sinal GPRS este depois de algum tempo volta a se conectar e um novo socket é gerado, mas o anterior continua ativo esperando dados.

Gostaria de saber qual a forma de identificar que o primeiro socket está ou não ativo, para que possa força-lo a fechar, pois do jeito que tá vai criando socket atraz de socket sem parar, deixandos os outros abertos.

Já tentei o socket.isconnected, mas mesmo com o aparelho desligado no servidor este metodo retorna true.

Alguem tem uma ideia?

Obrigado!

Ola

Seta um timeout no socket… se ele ficar inativo por um determinado tempo ele se fecha…

Unica forma seria por timeout? não tem como eu pergunta ao socket, ei vc ainda tah vivo? e ele me responder se sim ou não?