간단한 개념 소개를 통해 어떻게 다른지 파악
*자세한 설명 생략
▷ 소켓(Socket) 이란?
*Socket 통신 : Server도 Client에게 요청을 보낼 수 있는 양방향 통신(연결유지)
- 네트워크상에서 동작하는 프로그램 간 통신의 종착점
- 소켓을 통해 데이터 통로가 생성
- Server-Client 통신 구조
- Server와 Client가 특정 Port를 통해 실시간으로 양방향 통신을 하는 방식(연결유지)
▷ 소켓(Socket)의 유형
*소켓은 일반적으로 Transport 계층에 속해있는 TCP 프로토콜을 말한다.
- TCP(Transmission Control Protocol / Stream Socket)
- 연결 지향형 소켓
- 신뢰성 보장
- 데이터 순서대로 송수신
- Point-To-Point 연결
- UDP(User Datagram Protocol / Datagram Socket)
- 비 연결형 소켓
- 신뢰성 보장 X
- 데이터 순서대로 송수신 보장 X
- Point-To-Point 연결뿐만 아니라 1:N 연결도 가능
▷ 웹소켓(WebSocket)
* 소켓(Socket) vs 웹소켓(WebSocket)
- 동작계층
- 데이터 형식
- HTTP(Hyper Text Transfer Protocol)를 사용하는 네트워크 데이터 통신의 단점을 보완
*HTTP 통신 : Client가 요청을 보내고 Server가 응답하는 단방향 통신(연결유지X)
*단방향적 구조로 통신하기 때문에 TCP/IP 프로토콜을 사용하는 소켓처럼 계속 connection이 유지되는 실시간 통신을 할 수 없다.
이 문제점을 해결하기 위해 나온것이 웹소켓 프로토콜이다.
- Server-Client 통신 구조
- Server와 Client 간의 웹소켓 연결은 HTTP를 통해 이루어짐
▷ Socket I.O
- 웹소켓을 기반으로 클라이언트와 서버의 실시간 양방향 통신을 가능하게 해주는 Node.js의 모듈
*웹소켓을 편하게 사용하고자 만든 라이브러리
▷ 참고
▷ 관련 글
'▶ Back-End > 개념 요약' 카테고리의 다른 글
PWA 란? (0) | 2023.03.14 |
---|---|
HTML5 란? (0) | 2023.03.09 |
카프카(Kafka)란? (0) | 2023.02.07 |
메시지 큐(Message Queue)란? (0) | 2023.02.06 |
서블릿(Servlet) 이란? (0) | 2023.02.03 |
댓글