With a week later than the expected output, I finally released in Beta an MQTT broker completely developed in  C# that can run on .NET Framework and .NET Compact Framework 3.9 (on systems with Windows Embedded Compact 2013) his name is ... GnatMQ !

It has the M2Mqtt library “core” with which it shares the features of MQTT protocol about the part of the connection to the clients and the messages management.

Obviously, it is completely open source and available on CodePlex but is currently in Beta version (aspect numerous reports on your part!).

Main features included in the current release :

  • All three Quality of Service (QoS) Levels (at most once, at least once, exactly once);
  • Clean session;
  • Retained messages;
  • Will message (QoS, topic and message);
  • Username/Password via a User Access Control;
  • Subscription to topics with wildcards;
  • Publish and subscribe handle using inflight queue;

Features not included in the current release :

  • Broker configuration using a simple config file;
  • Security connection with SSL/TLS;
  • Bridge configuration (broker to broker);
  • Sessions, retained and will messages persisted at broker shutdown (ex. database);

My objective is to support the development of this broker as well as for the library M2Mqtt and I hope that it will be used and improved thanks to your feedback !

To be able to follow the evolution you can also follow its Facebook page and Twitter account.