MQTTnet은 MQTT 기반 통신을 위한 고성능 .NET 라이브러리입니다. MQTT 클라이언트와 MQTT 서버(브로커)를 제공하고 MQTT 프로토콜 버전 5까지 지원합니다. 대부분 지원되는 모든 .NET Framework 버전 및 CPU 아키텍처와 호환됩니다.
비동기 지원
클라이언트 및 서버에 대한 TLS 지원(UWP 서버는 제외)
확장 가능한 통신 채널(예: In-Memory, TCP, TCP+TLS, WS)
경량(MQTT의 낮은 수준 구현만 가능, 오버헤드 없음)
성능 최적화(초당 최대 150,000개의 메시지 처리)*
지원되는 모든 버전의 MQTT 프로토콜에 걸쳐 균일한 API
내부 추적 메시지에 대한 액세스
테스트된 단위(~636개 테스트)
외부 종속성 없음
* TCP 채널을 사용하여 동일한 프로세스에서 실행되는 MQTTnet 클라이언트 및 서버가 있는 로컬 시스템(Intel i7 8700K)에서 테스트되었습니다. 확인용 앱은 이 저장소의 일부이며 /Tests/MQTTnet.TestApp.NetCore 에 저장됩니다.
TCP(+TLS) 또는 WS(WebSocket)를 통한 통신 지원
낮은 수준의 기능을 갖춘 핵심 LowLevelMqttClient 포함
연결과 구독을 자동으로 유지 관리하는 ManagedMqttClient 도 포함되어 있습니다. 또한 애플리케이션 메시지는 더 높은 QoS 수준을 위해 자동으로 대기열에 추가되고 다시 예약됩니다.
Rx 지원(다른 프로젝트를 통해)
Microsoft Azure IoT Hub와 호환 가능
사용 가능한 연결된 클라이언트 목록
동시에 다른 프로토콜 버전을 사용하는 연결된 클라이언트 지원
자체 메시지 게시 가능(루프백 클라이언트 필요 없음)
모든 메시지 수신 가능(루프백 클라이언트 필요 없음)
확장 가능한 클라이언트 자격 증명 검증
인터페이스 메소드를 통한 지속을 포함하여 유지된 메시지가 지원됩니다(자체 구현 필요).
WebSocket 지원(ASP.NET Core 2.0을 통해, 별도의 너겟)
수신된 모든 애플리케이션 메시지를 변환하거나 확장할 수 있는 사용자 정의 메시지 인터셉터를 추가할 수 있습니다.
요청한 클라이언트에 따라 구독을 확인하고 특정 주제의 구독을 거부합니다.
MQTTnet은 NuGet 패키지 관리자를 통해 전달됩니다. 여기에서 패키지를 찾을 수 있습니다: https://www.nuget.org/packages/MQTTnet/
MQTTnet을 수동으로 설치하려면 패키지 관리자 콘솔에서 다음 명령을 사용하십시오.
Install-Package MQTTnet
MQTTnet 사용을 위한 샘플은 이 저장소의 일부입니다. 우선 다음 샘플을 권장합니다.
브로커와 연결
데이터 구독
데이터 게시
호스트 자체 브로커
이 프로젝트는 커뮤니티에서 기대되는 행동을 명확히 하기 위해 기여자 규약에서 정의한 행동 강령을 채택했습니다. 자세한 내용은 .NET Foundation 행동 강령을 참조하세요.
이 프로젝트는 .NET Foundation에서 지원됩니다.