1. 웹 소켓

문정준's avatar
Jun 25, 2025
1. 웹 소켓
Contents
Socket

Socket

  • OS에 탑재되어 통신을 가능하게 함
  • 소켓 통신 : 가장 가볍고 간단하고 빠르지만 보안에 취약
 

통신 종류

  • 단방향 통신 : Simplex
  • 반이중 통신 : Half-duplex
  • 전이중 통신 : Full-duplex
    • Push 알림을 할 수 있는 통신은 전이중 통신
 

Push 구현

  • Socket : 통신 유지
  • HTTP : 통신 종료
  • SSE (Server-Sent Event) : 요청 통신만 종료 → 서버 측에서 일방적인 응답만 전달
notion image
 

구독

  • 각종 센서가 서버에 측정 값에 따른 Flag 신호를 보내면, 서버에서 전등 또는 공기청정기를 작동
  • 전등, 공기청정기를 작동 시키기 위해서는 서버 측에서 Push를 보내주어야 함
    • 이는 센서와의 지속 통신이 필요
  • 서버에 채널을 개설해서 조도를 관리하는 채널, 대기 상태를 관리하는 채널을 각각 구독시키면 다른 장치가 추가 되어도 편리하게 상태 관리가 가능
    • 새 채널이 필요할 경우 해당 센서와 서버 내 채널 간의 통신을 만들고, 새 기기는 해당 조건에 맞는 채널을 구독하면 상태 변화를 서버에서 바로 확인 가능
notion image
 

Broker

  • Simple Broker 및 Command Broker를 활용하여 클라이언트가 구독을 통해 메시지를 실시간으로 받을 수 있음
      1. 클라이언트가 특정 주소를 구독
      1. 다른 클라이언트에서 해당 주소에 메시지를 담아 요청
      1. 구독하는 Broker 종류에 따라 통신 방법이 3가지로 구분
        1. 클라이언트가 Simple Broker 호출 → 해당 주소를 구독 중인 클라이언트에게 바로 응답
        2. Command Broker가 서버의 Controller 호출 → Controller가 Simple Broker 호출 → 응답
        3. 클라이언트가 직접 Controller 호출 → Controller가 Simple Broker 호출 → 응답
notion image
 
Share article

sxias