HTTP(3)
-
[Flutter] Isolate를 활용한 HTTP 클라이언트 리팩토링과 iOS에서 Isolate 초기화 문제
Flutter에서 Isolate를 활용한 HTTP 클라이언트 리팩토링 Flutter 앱에서 네트워크 요청은 매우 빈번하게 사용되지만, Flutter 자체는 싱글 스레드로 동작하다보니 메인 UI 스레드에서 무거운 네트워크 작업을 처리하면 앱이 버벅거리거나 응답성이 떨어집니다. 특히 지금 진행하고 있는 프로젝트는 P2P를 통해 IoT 장비와 직접 통신을 하면서, 동시에 클라우드 서버와도 통신을 하는 구조였기 때문에 리렌더링이 반복되면 네트워크 처리 속도가 떨어지는 문제가 있었죠. 이 문제를 해결하기 위해 HTTP 통신을 Isolate에서 처리하도록 HTTP 클라이언트를 구현해서 네트워크 속도에 대한 문제를 개선했는데, iOS에서 앱을 구동할 시 문제가 발생했습니다. 메인 Isolate와 HTTP 클라이..
2025.04.11 -
[Flutter] Dart:io 패키지를 사용한 Http 통신 구현 및 주의점
이 글은 dart:io library를 참조하여 작성되었습니다. 만약 문제가 발생하는 경우, 다트의 버전을 확인해주세요. dart:io 패키지를 사용하면 Http 통신을 구현할 수 있습니다. 아마 좀 더 쉽게 HTTP 통신을 할 수 있는 패키지를 사용할수도 있겠지만... 요번에는 dart:io패키지를 사용하여 HTTP 통신을 구현하는 방법과 주의해야할 사항을 정리합니다. Dart:io library를 사용한 Http 통신 구현 dart:io library 페이지를 살펴보면 다음과 같은 내용을 발견할 수 있습니다. HttpServer and HttpClient The classes HttpServer and HttpClient provide HTTP server and HTTP client function..
2021.02.04 -
CLEARTEXT communication to [TARGET_ADDRESS] not permitted by network security policy
HTTP 통신 라이브러리를 Volley에서 Retrofit2로 변경한 뒤, targetSDKVersion값을 28로 변경하자 잘 되던 HTTP 통신이 동작하지 않는다. 이상하다싶어서 브레이크 포인트를 걸고 확인해보니 onResponse도 아닌 onFailure에 걸렸는데, CLEARTEXT communication to [TARGET_ADDRESS] not permitted by network security policy에러가 뜨고 있었다. 다른게 아니라 Android 9.0부터는 기본적으로 HTTP로 접속하는 것을 막기 때문이라고 한다. (참고: Protecting users with TLS by default in Android P 물론 서버에서 HTTPS로 설정할 수 있다면 만사 OK지만, 나의 경..
2019.11.08