투케이2K

71. (TWOK/ERROR) [Android] http 통신 소켓 타임 아웃 - java.net.SocketTimeoutException Read timed out 에러 본문

투케이2K 에러관리

71. (TWOK/ERROR) [Android] http 통신 소켓 타임 아웃 - java.net.SocketTimeoutException Read timed out 에러

투케이2K 2022. 5. 30. 18:03

[환경 설정 및 설명]

프로그램 : AndroidStudio

설 명 : http 통신 소켓 타임 아웃 - java.net.SocketTimeoutException Read timed out 에러

 

[에러 원인]

1. 클라이언트와 서버간 http 통신 Connection 연결은 되었지만 데이터 읽기 , 쓰기 (I/O) 작업에서 딜레이 지연 발생 이슈

2. 클라이언트와 서버간 http 통신 작업에서 lock (락) 이 걸린 경우 (너무 많은 동시 요청 시 lock 걸릴 수 있음)

 

[해결 방법]

1. http 통신 요청 로직에 try catch 구문 작성해 소켓 타임 아웃 에러 발생 시 재요청 로직 추가

2. http 통신 로직에서 connectTimeout , writeTimeout , readTimeout 시간 20 ~ 30 초로 향상 실시

 

// [OK http 라이브러리 버전]

implementation("com.squareup.okhttp3:okhttp:4.9.0")







// [OK http 통신 객체 일반 생성 실시]

OkHttpClient client = new OkHttpClient();





// [OK http 통신 객체 커스텀 타임 지정]

    OkHttpClient client = new OkHttpClient.Builder()
            .connectTimeout(20, TimeUnit.SECONDS)
            .writeTimeout(20, TimeUnit.SECONDS)
            .readTimeout(20, TimeUnit.SECONDS)
            .build();

 

반응형
Comments