Interrumpir una toma de conexión

Tengo una GUI con una lista de servidores para conectar. Si un usuario hace clic en un servidor, se conecta a él. Si un usuario hace clic en un segundo servidor, desconectará el primero y se conectará al segundo. Cada nueva conexión se ejecuta en un nuevo hilo para que el programa pueda realizar otras tareas.

in embargo, si un usuario hace clic en un segundo servidor mientras el primero todavía se está conectando, hay dos conexiones simultáneas.

Me estoy conectando usando esto, y connect () es la línea que bloquea:

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

Pensé que tal vezThread.currentThread().interrupt(); funcionaría, pero no lo hizo.

¿Tengo que reestructurar un poco mi código para que continúe haciendo la primera conexión, pero la cierre inmediatamente? ¿O hay realmente una manera de interrumpir el método de conexión?

Respuestas a la pregunta(3)

Su respuesta a la pregunta