그 증상은 폰 제조사에 따라서 또는 안드로이드 버전에 따라서 문제가 발생하고 하지 않는 경우가 있었다.
Nexus S ICS 4.0.3 으로 업데이트 후 HTTP 연결 실패 확률이 상당히 높았다.
문제를 확인하던 중 아래 자료들을 찾을 수 있었다.
ssl - Android ICS: Problems to get the server certificate of the HttpsUrlConnection - Stack Overflow:
http://stackoverflow.com/questions/8398622/android-ics-problems-to-get-the-server-certificate-of-the-httpsurlconnection
Android Developers Blog: Android's HTTP Clients:
http://android-developers.blogspot.com/2011/09/androids-http-clients.html
요지는 HttpURLConnection 은 기본적으로 connection pool 을 사용하게 되는데 froyo 이전 버전까지는 connection pool 에 버그가 있어서 해당 기능을 사용하지 않게 했다는 것이다.
System.setProperty("http.keepAlive", "false");
그런데 몇몇 폰이나 ICS 4.0.3 으로 업데이트 되면서 문제가 다시 생긴 건지 아니면 뭔가 안드로이드 개발자들의 설명이 부족했던 것인지 모르겠으나 http.keepAlive 값을 false 로 설정함으로써 문제가 해결되었다.
댓글 없음:
댓글 쓰기