<commit_before># GnatMQ

![](images/gnat.jpg)

GnatMQ - MQTT Broker for .NET and WinRT

## Description

A broker (server) for the MQTT protocol, an M2M Internet-of-Things communication protocol based on .Net Framework. 

MQTT, short for Message Queue Telemetry Transport, is a light weight messaging protocol that enables embedded devices with limited resources to perform asynchronous communication on a constrained network.

Developed by IBM and Eurotech, the MQTT protocol is released as an open standard and being standardized by OASIS (Organization for the Advancement of Structured Information Standard), a non-profit consortium that drives the development, convergence and adoption of open standards for the global information society.

In general, the MQTT environment consists of multiple clients and a server, called broker.

This project is created to develop an MQTT broker.  While there are other MQTT broker project, this project is created to provide additional resources to learn and engage in developing useful resources for the MQTT protocol, in conjunction with the M2Mqtt project, a .NET client library for MQTT that supports .NET Framework, .NET Compact Framework and .NET Micro Framework.

## How to use:
```
Install-Package GnatMQ_Broker -Version 1.2.0
```
Starting the server is simple:
```C#<commit_msg>Placed "Alternatives" warning in readme<commit_after># GnatMQ

![](images/gnat.jpg)

GnatMQ - MQTT Broker for .NET and WinRT

## Alternatives
This repository is not well maintained, and the code is a bit dated. 
[MQTTnet](https://github.com/chkr1011/MQTTnet) is the direct alternative, and better maintained. 
[dotNetty](https://github.com/Azure/DotNetty) is a Microsoft-supported generic messaging server that supports MQTT transport. That's a good option is you want to use the protocol to talk to a server, rather than to use it as a broker.

## Description

A broker (server) for the MQTT protocol, an M2M Internet-of-Things communication protocol based on .Net Framework. 

MQTT, short for Message Queue Telemetry Transport, is a light weight messaging protocol that enables embedded devices with limited resources to perform asynchronous communication on a constrained network.

Developed by IBM and Eurotech, the MQTT protocol is released as an open standard and being standardized by OASIS (Organization for the Advancement of Structured Information Standard), a non-profit consortium that drives the development, convergence and adoption of open standards for the global information society.

In general, the MQTT environment consists of multiple clients and a server, called broker.

This project is created to develop an MQTT broker.  While there are other MQTT broker project, this project is created to provide additional resources to learn and engage in developing useful resources for the MQTT protocol, in conjunction with the M2Mqtt project, a .NET client library for MQTT that supports .NET Framework, .NET Compact Framework and .NET Micro Framework.

## How to use:
```
Install-Package GnatMQ_Broker -Version 1.2.0
```
Starting the server is simple:
```C#
{'fraction_non_alphanumeric': 0.05125725338491296, 'fraction_numerical': 0.004513217279174726, 'mean_word_length': 4.888045540796964, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7259229', 'n_tokens_mistral': 820, 'n_tokens_neox': 758, 'n_words': 432}