Interrompa um soquete de conexão

Tenho uma GUI com uma lista de servidores aos quais me conectar. Se um usuário clicar em um servidor, ele se conectará a ele. Se um usuário clicar em um segundo servidor, ele desconectará o primeiro e se conectará ao segundo. Cada nova conexão é executada em um novo encadeamento para que o programa possa executar outras tarefa

o entanto, se um usuário clicar em um segundo servidor enquanto o primeiro ainda estiver conectado, haverá duas conexões simultânea

Estou conectando usando isso, e connect () é a linha que bloqueia:

Socket socket = new Socket();
socket.connect(socketAddress, connectTimeout);

Pensei que talvezThread.currentThread().interrupt(); funcionaria, mas não funciono

Preciso reestruturar meu código um pouco para que continue fazendo a primeira conexão, mas a feche logo depois? Ou existe realmente uma maneira de interromper o método de conexã

questionAnswers(3)

yourAnswerToTheQuestion