-
소켓(Socket) 통신Study/개발 용어 2021. 1. 19. 17:02
소켓 통신이란?
소켓 통신을 알아보기 전에 소켓에 대해 알아보자.
소켓은 "구멍", "콘센트"라고 생각하면 편하다. 즉, TCP/IP를 이용하는 창구 역할로 두 프로그램이 네트워크를 통해 서로 통신을 수행할 수 있도록 양 쪽에 생성되는 링크 단자라고 할 수 있다. 즉 두 소켓이 연결되어 통신하는 것을 소켓 통신이라고 한다.
웹을 예로 들면 서버 / 클라이언트가 특정 Port를 통해 실시간 양방향 통신을 하는 것을 의미한다.
HTTP 통신과 소켓 통신의 차이
예전에도 HTTP와 소켓 관련한 블로그 글을 본 적이 있다. 내가 보고 나서 잊어서 문제지만...
웹 개발을 해서 익숙한 HTTP의 경우, 클라이언트가 요청(request)를 보내면 서버가 응답(response)를 보내는 방식이다. 통신을 하기 위해서 클라이언트는 계속 요청을 해야 하는데, 이와 같은 구조는 실시간으로 데이터를 교환해야 하는 경우에는 적절하지 않다.
소켓 통신은 클라이언트가 요청하지 않아도 통신을 할 수 있는 방법이다. Port를 통해 계속해서 연결되어 있으므로 요청을 보내지 않아도 되며 실시간으로 데이터를 주고받는 상황에 사용된다.
'Study > 개발 용어' 카테고리의 다른 글
하이버네이트(Hibernate) (0) 2021.01.26 하드코딩(Hard-coding) (1) 2021.01.18 API (Application Programming Interface) (0) 2021.01.15 스레드 (Thread) (0) 2021.01.15 데이터 바인딩 (단방향 바인딩, 양방향 바인딩) (1) 2021.01.12