안녕하세요 gyub(귭)입니다 ㅎㅎㅎ
이번엔 HTTP와 소켓 통신에 대해 다뤄보려 합니다!
1. HTTP 통신
HTTP 통신은 단방향 통신입니다.
단방향 통신이란?
말 그래도 '단'방향 한 쪽으로만 통신을 한다 라고 이해 하시면 될 것 같아요
예를들면
클라이언트가 서버에게 요청을 보내고 나서 그담에 서버가 응답을 주고
연결을 마무리 짓습니다. 이런 방식이에연
( HTTP 통신에서 서버는 클라이언트한테 요청을 못 보내요 ㅠㅠ )
대표적으로는 홈페이지가 있겠네요!
gyub의 블로그를 클릭했어요(클라이언트) -> gyub의 블로그 클릭에 대한 응답을 줄게여 (서버)
-> 와!! 블로그가 보이네? (클라이언트)
이런식입니다!
쫌 B급 설명같지만 그렇습니다 ㅠ,,,,
2. 소켓 통신
소켓 통신은 양방향 통신입니다
양방향 통신은 또 말 그대로 '양'방향으로 통신한다 라고 이해하시면 됩니다.
클라이언트와 서버가 특정 포트를 통해 연결을 합니당
즉, HTTP와 다르게 서버도 클라이언트에게 요청을 보낼 수 있고, 계속 연결을 유지하는
연결지향형 통신입니다.
대표적으로 스트리밍 중계가 있겠네요!
롤 중계가 보고 싶어서 유튜브에 들어갔어요!
롤 중계 영상을 한 번 틀어놓으면 우리가 별 다른 액션을 취하지 않아도 영상이 생중계로 쭉 나오잖아요??
그런 느낌입니다!!!!!
HTTP 통신과 비교해서 보면
만약 롤 중계 영상 보는 방식을 HTTP방식으로 한다면 우리는 쉴틈없이 영상 나와라!!!버튼을 눌러야될꺼에요 혹은 새로고침을 쉴틈없이 한다던가?? 이러면 귀찮을뿐더러 ... 사실 귀찮음보단 쉴틈없는 클라이언트의 요청에
서버가 과부하에 걸려 살아날 수 가 없어요 ㅠㅠㅠ 죽어요 그냥
그래서 각기 다른 통신방식을 사용하는 겁니다!
홈페이지도 소켓통신의 스트리밍 예시처럼 반대로 생각해보시면
우린 그냥 gyub 블로그 누르고 한번 응답을 받고 끝내면 되는데 얘가 똑같은 걸 계속 보여줘요,,, 그럴 필요 없잖아요?
그렇게 되면 또 과부하가 일어납니다,,
'안드로이드 > Android Studio' 카테고리의 다른 글
[ Android / Design ] 화면 전환 애니메이션( 상하좌우) (0) | 2020.11.08 |
---|---|
[ Android / Kotlin ] RecyclerView 가로 모드 (0) | 2020.07.31 |
[ Android ] 해시키 쉽게 얻는 방법 (0) | 2020.07.07 |
[ Android ] Android Studio에서 간단하게 SHA-1 값 알아보기 (0) | 2020.03.04 |
[ Android / Design ] 버튼 그림자 없애기 (0) | 2020.03.03 |