Mi sembra che tu faccia del lavoro inutile.
fai a livello application quello che già si fa a livello transport,
a meno che tu non stia usando i DatagramSocket.
infatti non capisco la lista dei connessi altrimenti a che ti server, avresti una lista di Sockets restituiti da accept.
cmq metodo isClosed() della classe Socket forse ti puo servire