일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 서버동기화
- pm2 설치
- AntDesign
- mySQL_Replication
- pm2
- 데이터테이블 데이터 넣기
- datagridview 직접입력
- mosquitto
- timepicker
- pm2 상태 확인
- mosquitto.conf
- map이 undefined가 뜰 때
- 공인IP
- allow_anonymouse
- setInterval 정지
- pm2 확인
- setInterval 중지
- 1883
- html #select #option #multiple
- listener 1883
- invalid data
- DatePicker
- setInterval 외부 정지
- 맥 어드레스
- Replication
- setInterval clear
- c# datagridview 데이터 넣기
- transfer
- pm2 시작
- DataGridView 직접 입력
- Today
- Total
개발 노트
MQTT 예제 SubScriber Publisher 본문
mosquitto 폴더에서 cmd 실행
첫번째 커맨드창 띄우고 SubScirber 실행
C:\Program Files\mosquitto>mosquitto_sub -h localhost -t /testTopic
두번째 커맨드창 띄우고 Publisher로 메세지 전송
C:\Program Files\mosquitto>mosquitto_pub -h localhost -t /testTopic -m "Test Message"
subscriber에 들어옴
MQTT란 IOT에서 각광받고 있는 메세지 전송 프로토콜이다.
MQTT는 앤디 스탠포드 클라크와 알렌 니퍼가 1999년에 개발하였다
초기 MQTT는 멀티 레벨의 QoS(Quality of Service)를 경량 및 효율적인 대역폭을 사용하기 위해 설계 되었고 현재는 MQTT의 특성인 메세지 경량화로 인해 IoT 또는 M2M 통신에 많이 사용되고 있다
MQTT 프로토콜은 푸시기술에서 일반적으로 사용되는 클라이어트서버 방식 대신 메세지 매개자를 통해 송신자가 특정 메시지를 발행하고 수신자가 메시지를 구독하는 방식을 사용한다.
즉 매개자를 통해 메시지가 송수신된다
2. 특징
MQTT 프로토콜은 메시지를 발행(PUBLISHING)하고 관심있는 주제를 구독 하는 것을 기본 원칙으로 한다
PUBLISHER과 SUBSCRIBER은 모두 BROKER에 대한 클라이언트로 작동한다. PUBLISHER는 토픽을 발행하기 위한 목적으로 SUBSCRIBER은 토픽을 구독하기 위한 목적으로 BROKER 서버에 연결한다. 하나 이상의 Pub과 Sub가 브로커에 연결해서 토픽을 발행하거나 구독할 수 있다. 또한 다수의 클라이언트가 하나의 주제를 구독할 수도 있다
qos
MQTT는 3단계의 qos를 제공한다
QoS 0 : 메시지는 한 번만 전달하며 전달여부를 확인하지 않는다
QoS 1 : 메시지는 반드시 한번이상 전달된다. 하지만 메시지의 핸드셰이킹 과정을 엄밀하게 추적하지 않기 때문에 중복전송될수도 있다.
QoS 2: 메시지는 한번만 전달된다. 메시지의 핸드셰이킹 과정을 추적한다. 높은 품질을 보장하지만 성능의 희생이 따른다
서비스의 종류에 따라서 적당한 QoS 레벨을 선택해야 한다
'프로그래밍 > IT용어설명' 카테고리의 다른 글
IP 관련 용어 정리 (0) | 2024.01.22 |
---|---|
TCP/IP , MQTT (0) | 2022.11.22 |
MQTT정리 (0) | 2022.03.03 |
윈도우 자동실행 (0) | 2022.03.02 |
MQTT 스터디 (0) | 2022.03.02 |