Насколько я понимаю, тайм-аут соединения сокета контролируется транспортом TCP, который использует таймауты повторной передачи (RTO). если подтверждение не возвращается до истечения таймера, запрос на соединение (Sync) будет передан повторно, и RTO будет удвоено.
Итак, какова функциональность тайм-аута соединения в сокете Java, когда мы вызываем Socket.connect (endpoint, connectTimeout)