본문 바로가기
Android Kotlin

Android Kotlin WebSocket 웹소켓 이해하기

by 히예네 2024. 6. 3.
728x90
반응형

1. WebSocket이란?

먼저 HTTP 프로토콜 통신은 아래와 같이 단방향으로 통신이 이뤄진다.

- 클라이언트가 서버에 요청

- 서버가 응답하여 클라이언트에게 요청값을 토해냄

 

그러나 웹소켓은 서버와 클라이언트가 실시간으로 메세지를 주고받는다. 양방향 통신이 이뤄져서 빠르고 한번 연결을 맺으면 쭉 유지된다.

2. WebSocket을 써야하는 이유

채팅, 좋아요 등 실시간으로 이뤄지는 작업들은 웹소켓으로 하는것이 좋다. HTTP 통신은 GET, POST 등 단순하게 주고받는 경우 괜찮을 수있다. 그런데 Retrofit은 HTTP 통신을 기반으로 작동하므로, 실시간 채팅이나 즉각 카운팅이 필요한 경우에는 Android 에서도 웹소켓을 구현해야한다. Retrofit만으로는 네트워크 통신이 불안정 할 수있다. (실제 앱을 배포한 경우에는 특히!)

그러므로 OKHttp 라이브러리를 이용하여 안드로이드에서도 웹소켓을 구현해야 할 경우가 매우 많다. 

nsp로 특정 네임스페이스를 정해서 (예를들면 /chat) 그 네임스페이스만의 이벤트나 데이터를 가져오면 된다. 

 

앱에서도 소켓을 만들어서 사용하는 경우가 많으므로 개념을 이해하는게 중요한거같다. 

728x90
반응형