Java ServerSocket accept timeout

Когда вы пишете сервер на Java, то вызываете serverSocket.accept(), которая останавливает поток и ждёт, пока появится какое-нибудь подключение. У метода accept нет никаких параметров, но если его вызвать напрямую, а подключения никогда не будет, то поток никогда не сдвинется дальше, и никакой исключительной ситуации по таймауту не будет. Причём будет совершенно непонятно, работает приложение или висит, и чем оно вообще занимается, так как в логах ничего появляться не будет.

Для того чтобы настроить таймаут ожидания подключения нужно использовать метод setCoTimeout:

Вот так

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *