Contents
SocketSocket
- OS에 탑재되어 통신을 가능하게 함
- 소켓 통신 : 가장 가볍고 간단하고 빠르지만 보안에 취약
통신 종류
- 단방향 통신 : Simplex
- 반이중 통신 : Half-duplex
- 전이중 통신 : Full-duplex
- Push 알림을 할 수 있는 통신은 전이중 통신
Push 구현
- Socket : 통신 유지
- HTTP : 통신 종료
- SSE (Server-Sent Event) : 요청 통신만 종료 → 서버 측에서 일방적인 응답만 전달

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

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

Share article