Duvida com sockets

Olá a todos,

Estou trabalhando com sockets e procurando uma forma de eliminar sockets que ficam inativos (idle) por um determinado período. Ao que parece o timeout do socket elimina o socket ainda que ele não esteja inativo. Minha intenção é descobrir como eliminar, fechar sockets inativos. Alguem já passou por uma situação como essa? Alguem pode indicar algum material? Não encontrei muita coisa na API tanto da classe socket quanto na da classe ServerSocket.

Desde já agradeço a atenção