2

http를 통해 요청을 보내고 있습니다. 연결 시간 초과 및 읽기 제한 시간은 30000ms로 설정됩니다. 응답을받은 후 최대 시간은 얼마입니까? 읽기 + 연결 시간 초과가 결합 되었습니까? 의심 스럽습니다. 연결을 획득 한 후 또는 연결을 시도하기 시작할 때부터 읽기 시간 초과가 시작될 때가 언제입니까? 연결이 설정된 경우에도 구성된 연결 시간이 초과 된 후에 연결이 종료됩니까?http 응답을받는 데 최대 지연은 얼마입니까?

두 시간 제한의 차이는 명확하지만 정확하게 고려할 때 분명하지 않습니다. readConnectionTimeout가 연결이을 설립 후 (연속 읽기) 을 datapackets 사이에 대기 할 수있는 시간을 말한다 동안

con.setConnectTimeout(30000); 
con.setReadTimeout(30000); 
+1

@DimaSan 두 개의 시간 초과가 정확히 나타나면 다른 질문에 언급되지 않습니다. 두 시간 제한의 차이점에 대해 설명합니다. –

답변

1

connectTimeout는 그 연결 establishement 취할 수있는 시간을 제한합니다.

먼저 연결을 설정하고이 프로세스를 connectTimeout으로 제한하십시오. 연결 설정 후 readConnectionTimeout을 사용하여 들어오는 데이터를 읽습니다.

두 번째 것, 이 데이터 읽기 작업의 전체 시간을 제한하지 않습니다. 총 읽기 시간은 더 이상 0이 될 수 없습니다. packets_to_be_send * readConnectionTimeout

+0

'connectTimeout'이 'packets_to_be_send * readConnectionTimeout'보다 커야합니다. 연결이 설정되면 연결 시간 제한이 적용됩니까? –

+0

시간 제한이 상호 배타적이므로 먼저 연결 (TCP 제어)을 시도합니다. 여기서 'connectionTimeout'이 대신 사용됩니다. 연결이 확립 된 후, 실제 응용 프로그램 데이터가 읽혀집니다. 이것은'readConnectionsTimeout'이 들어오는 곳입니다. 연결이 이미 설정되었으므로'connectTimeout'은 더 이상 의미가 없습니다. – Antoniossss

+1

@DarshanGopalR 연결이 확립 된 후 주석이 없습니다 (편집 된 코멘트). 'connectionTimeout'은 더 이상 고려하지 않습니다. – Antoniossss

관련 문제