mqtt 서버 예제

MQTT는 QoS(서비스 품질)의 세 가지 수준을 정의합니다. QoS는 브로커/클라이언트가 메시지를 수신하기 위해 얼마나 열심히 노력할지 정의합니다. 메시지는 모든 QoS 수준에서 전송될 수 있으며 클라이언트는 모든 QoS 수준에서 토픽을 구독하려고 시도할 수 있습니다. 즉, 클라이언트가 받을 최대 QoS를 선택합니다. 예를 들어 메시지가 QoS 2에 게시되고 클라이언트가 QoS 0으로 구독된 경우 메시지가 QoS 0을 사용하여 해당 클라이언트에 배달됩니다. 두 번째 클라이언트도 동일한 주제에 가입되어 있지만 QoS 2를 사용하면 동일한 메시지를 수신하지만 QoS 2를 사용하면 동일한 메시지가 표시됩니다. 두 번째 예제에서는 클라이언트가 QoS 2로 구독되고 메시지가 QoS 0에 게시된 경우 클라이언트는 QoS 0에서 클라이언트를 받게 됩니다. 파일은 하루 종일 업데이트됩니다. 나는 매 분마다 파일을 폴러하고 업데이트를 찾는 간단한 데이터 펌프를 만들었습니다. MQTT 서버에 새 항목을 게시하는 것은 이 CSV 파일을 크게 미러레칭하는 항목 집합으로 합니다. 페이로드는 거의 모든 프로그래밍 언어에서 구문 분석하기 쉬운 JSON 개체로 바뀌습니다. 좋아, 하지만 당신은 이제까지 mosquitto 서버에 캐시를 설정하거나 mosquitto 서버에서 세션 의 생성을 처리? 그렇다면 알려주세요.

CloudMQTT에는 하드웨어 서버에서 실행되는 자체 CloudMQTT 브로커 인스턴스를 설정할 수 있는 무료 플랜이 있습니다. 따라서 IoT 프로젝트에 사용할 준비가 된 온라인 브로커를 가질 수 있습니다. oot@kalievo:/홈/모스퀴토/모시토-1.4.8# 설치 세트 -e; lib 클라이언트 src에서 d에 대한; -C ${d}를 만들 수 있습니다. 완료 확인[1]: 디렉토리를 입력 `/홈/mosquitto-1.4.8/lib` 확인 -Cc 확인[2]: 디렉토리를 입력 `/홈/모시토/mosquitto-1.4.8/lib/cpp` 확인[2]: 아무것도 `모두에 대 한 할 수 없습니다. make[2]: 디렉토리를 떠나는 `/home/mosquitto/mosquitto-1.4.8/lib/cpp` 확인[1]: 디렉토리를 떠나 `/홈/모스퀴토/모스퀴토-1.4.8/lib` 확인[1]: 디렉토리 `/home/mosquitto/mosquitto-1.4.8/lib` 확인:디렉토리를 입력 `/홈/mosquitto/mosquitto-1.4.8/클라이언트` 아무것도 할 수 없습니다. make[1]: 디렉토리를 떠나 `/home/mosquitto-1.4.8/client`를 만듭니다[1]: 디렉토리 `/홈/모시토/모스퀴토-1.4.8/src` cc-Wall-ggdb-O2 -I.를 입력합니다. -I.. /lib-DVERSION=””1.4.8″”-DTIMESTAMP=””2017-03-28 23:28:13-0700″”-DWITHBROKER -D WITHTLS -DWITHUUID -DWITHUUID -DWITHBRIDGE -DWITHPERSISTENCE -DWITHMEMORYTRACKING -DWITHSYSTREE -DWITHEC -c readhandleserver.c -o readhandleserver.o readhandleserver.c: 함수 `mqtt3handleconnect`에서: readhandleserver.c:367:4: 경고: `ASN1STRINGdata` 더 이상 사용되지 않습니다 [-Wdeprecated-선언] 컨텍스트->사용자 이름 = mosquittostrdup (char)ASN1STRINGdata(이름 entry->value); ^~~~~~~~~~~~~~~~~~~/에서 포함/포함/열문/bn.h:31:0, /usr/포함/개방/asn1.h:24, /usr/포함/열문/개체.h:916, /usr/포함/열기/evp.h:27, /usr/포함/열림/x509.h:23, /usr/포함/열림/열문/열림/ ssl.h:50, 에서 .. /lib/mosquittointernal.h:27, ./mosquittobroker.h:42에서, readhandleserver.c:22: /usr/포함/열기/asn1.h:553:1: 참고: 여기에 DEPRECATEDIN110(서명되지 않은 문자 *ASN1STRINGdata(ASN1STRINGdata):77 불완전한 유형 `X509NAMEENTRY {일명 구조X509nameentryst}` 컨텍스트->사용자 이름 = mosquittostrdup ((char*)ASN1STRINGdata (nameentry->값)에 대한 포인터를 참조합니다.

^~ Makefile:54: 대상 `readhandle_server.o`에 대한 레시피 실패[1]: ** [readhandleserver.o] 오류 1 확인[1]: 디렉토리를 떠나 `/홈/모스퀴토-1.4.8/src` Makefile:21: 대상 `mosquitto`에 대한 레시피 가 실패했습니다: *** [mosquitto] 오류 2 root@kalievo:/home/mosquitto/mosquitto-1.4.8# root@mosquitto-mqtt-server:/home/mosquitto/mosquitto-1.4.8# mosquitto -c/etc /mosquitto/mosquitto.conf 1534919266: mosquitto 버전 1.4.8 (빌드 날짜 2018-08-22 06:23:58+0000) 시작 1534919266: /etc/mosquitto/mosquitto.conf에서 로드된 구성.