Разница между всеми тремя методами указана ниже:
connectTimeout:
Устанавливает время ожидания подключения по умолчанию для новых подключений. Значение 0 означает отсутствие тайм-аута, в противном случае значения должны быть в диапазоне от 1 до Integer.MAX_VALUE
при преобразовании в миллисекунды.
connectTimeout
применяется при подключении сокета TCP к целевому хосту. Значение по умолчанию составляет 10 секунд.
readTimeout:
Устанавливает время ожидания чтения по умолчанию для новых подключений. Значение 0 означает отсутствие тайм-аута, в противном случае значения должны быть от 1 до Integer.MAX_VALUE
при преобразовании в миллисекунды.
Тайм-аут чтения применяется как к сокету TCP, так и к отдельным операциям ввода-вывода чтения, в том числе к источнику ответа. Значение по умолчанию составляет 10 секунд.
writeTimeout:
Устанавливает время записи по умолчанию для новых подключений. Значение 0 означает отсутствие времени ожидания, в противном случае значения должны быть в диапазоне от 1 до Integer.MAX_VALUE
при преобразовании в миллисекунды.
Тайм-аут записи применяется для отдельных операций ввода-вывода. Значение по умолчанию составляет 10 секунд.
Источник от здесь .