Разблокируется ли Socket InputStream read (), если время ожидания сервера истекло?

У меня есть сервер, который истекает через 45 секунд, если он неТ получил полный запрос и закрывает соединение. Я подключаюсь к этому серверу черезSocket и напиши мой запрос в сокет .I 'OutputStream

Socket socket = new Socket("myhost", myPort);
PrintWriter out = new PrintWriter(socket.getOutputStream());
out.write(properRequestMessage);
out.flush();

Я предполагаю, что мой запрос хорош (следует моему протоколу). Сервер должен отвечать файлом. Я пытаюсь прочитать из сокета inputtream:

BufferedReader response = new BufferedReader(new InputStreamReader(socket.getInputStream()));

String in;

while((in = response.readLine()) != null) {
    System.out.println(in);
}

readLine() блоки здесь, и я думаю, что это потому, что мой сервер считает, что мой запрос нет должным образом завершен и поэтому ждет большего.

Теперь, если пройдет 45 секунд, и мой сервер истечет,readLine() разблокировать или подождатьSocket время ожидания по умолчанию?