Тайм-аут сокетов Java

Тайм-аут сокетов JavaЧтение из блоков сокетов доступно до тех пор, пока данные являются доступными. Если хост является недосягаемым, ваше приложение будет ожидать в течение длительного периода времени, и все будет зависеть от того, когда операционная система, под управлением которой работает компьютер, определит момент завершения ожидания.

Вы можете решить, какое значение тайм-аута будет разумным для вашего определенного приложения. Затем вызовите метод setSoTimeout, чтобы задать значение тайм-аута(в миллисекундах).
Читать