m2mqtt 예제

사용하려는 .Net 또는 WinRT 플랫폼에 따라 제공되는 Visual Studio(“org.eclipse.paho.mqtt.m2mqtt” 폴더)에서 사용 가능한 솔루션 중 하나를 열 수 있습니다. 이제 아래는 선택한 주제에 가입하는 예입니다. 자세한 내용은 링크 섹션의 자습서를 확인하십시오. M2Mqtt는 SSL/TLS 프로토콜 및 X509 인증서를 사용하여 MQTT 브로커에 대한 보안 연결을 지원합니다. 우선 연결하는 브로커 인증서에 서명하는 데 사용되는 CA 인증서를 받아야 합니다. 인증서 만들기에 대한 자세한 내용은 Embedded101 커뮤니티 블로그에서 다음 문서를 읽을 수 있습니다(OpenSSL을 사용하는 예제가 있습니다). 그런 다음 인증서 자체를 바이트 스트림으로 노출하는 리소스 파일(Resources.resx)을 사용하여 .Net 프로젝트 내의 리소스로 인증서를 제공해야 합니다. 모든 MQTT 고급 기능(인증 및 “will” 메시지)을 사용하지 않고 클라이언트 ID(예: 생성된 GUID)만 지정하고 기본 값을 정리 세션 플래그 집합으로 유지상태를 유지할 수 있습니다. 이 메서드의 가장 간단한 오버로드는 위의 예제에서 GUID로 생성되는 클라이언트 ID만 있으면 됩니다. 라이브러리는 MQTT 3.1.1 사양을 기본값으로 사용하므로 이전 MQTT 3.1 사양과 마찬가지로 클라이언트 ID에 대한 23자 제한이 없습니다.

Connect() 메서드는 동기식이며 브로커의 응답 코드를 나타내는 바이트를 반환합니다. MQTT 사양에서 연결이 수락된 경우 값이 0이거나 연결 실패의 원인을 식별하는 0보다 큰 숫자입니다. 클라이언트 수명 동안 언제든지 Client Id 및 ClientId 및 IsConnected 속성에 액세스하는 연결 상태를 검색할 수 있습니다. 연결 메서드의 다른 모든 오버로드를 사용하면 : 클라이언트 구독자의 예에 따라 주제에 대해 : 오늘날 라이브러리가 더 성숙하고 프로덕션 준비가 되었습니다. 취미 프로젝트에는 이를 사용하는 제조업체가 많이 있으며, 더 많은 회사에서 이를 사물 인터넷 솔루션에 배포하고 24⁄7을 실행하고 있습니다. M2Mqtt는 세 가지 QoS 레벨과 SSL/TLS 지원에 대한 “마지막 의지와 유언”에서 MQTT 표준의 모든 주요 기능을 제공합니다. 새 비동기/await 키워드(C# 5.0)가 필요한 “작업 기반” 방식이 아니더라도 비동기 방식으로 작동하는 API를 노출합니다. 물론 프로젝트가 항상 개발 중이며 팀 (나와 나 자신)이 모든 유형의 제안을 수락하거나 기여하기 때문에 미래의 개선이 될 수 있습니다. 리포지토리에서도 프로젝트를 설치할 수 있습니다.

이렇게 하려면: QoS 수준 1 또는 2를 사용하여 지정된 주제에 메시지를 게시하는 경우 해당 토픽의 모든 구독자에게 메시지가 배달될 때 발생되는 MqttMsgPublished 이벤트에 등록할 수도 있습니다.