You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
Christian Kratky 9915cc4492 Use event pattern correctly for incoming server connections. 7 years ago
Build Update version information 7 years ago
Frameworks Use event pattern correctly for incoming server connections. 7 years ago
Images Add support for ignored certificate chain errors (Self signed) 7 years ago
MQTTnet.Core Use event pattern correctly for incoming server connections. 7 years ago
Tests Use event pattern correctly for incoming server connections. 7 years ago
.bettercodehub.yml Update .bettercodehub.yml 7 years ago
.gitattributes Initial commit. 7 years ago
.gitignore Refactoring 7 years ago
.travis.yml Update travis 7 years ago
LICENSE Initial commit 7 years ago
MQTTnet.sln Use event pattern correctly for incoming server connections. 7 years ago
MQTTnet.sln.DotSettings added resharper settings 7 years ago
README.md Update documentation 7 years ago

README.md

NuGet Badge BCH compliance

MQTTnet

MQTTnet is a .NET library for MQTT based communication. It provides a MQTT client and a MQTT server (broker). The implementation is based on the documentation from http://mqtt.org/.

Features

General

  • Async support
  • TLS 1.2 support for client and server (but not UWP servers)
  • Extensible communication channels (i.e. In-Memory, TCP, TCP+TLS, WS)
  • Lightweight (only the low level implementation of MQTT, no overhead)
  • Performance optimized (processing ~27.000 messages / second)*
  • Interfaces included for mocking and testing
  • Access to internal trace messages
  • Unit tested (62+ tests)

* Tested on local machine with MQTTnet client and server running in the same process using the TCP channel. The app for verification is part of this repository and stored in /Tests/MQTTnet.TestApp.NetFramework.

Client

  • Rx support (via another project)
  • Communication via TCP (+TLS) or WS (WebSocket)

Server (broker)

  • List of connected clients available
  • Supports connected clients with different protocol versions at the same time
  • Able to publish its own messages (no loopback client required)
  • Able to receive every messages (no loopback client required)
  • Extensible client credential validation
  • Retained messages are supported including persisting via interface methods (own implementation required)

Supported frameworks

  • .NET Standard 1.3+
  • .NET Core 1.1+
  • .NET Core App 1.1+
  • .NET Framework 4.5.2+ (x86, x64, AnyCPU)
  • Universal Windows (UWP) 10.0.10240+ (x86, x64, ARM, AnyCPU)
  • Mono 5.2+

Supported MQTT versions

  • 3.1.1
  • 3.1.0

Nuget

This library is available as a nuget package: https://www.nuget.org/packages/MQTTnet/

Examples

Please find examples and the documentation at the Wiki of this repository (https://github.com/chkr1011/MQTTnet/wiki).

Contributions

If you want to contribute to this project just create a pull request. But only pull requests which are matching the code style of this library will be accepted. Before creating a pull request please have a look at the library to get an overview of the required style.

References

This library is used in the following projects:

If you use this library and want to see your project here please let me know.