.NET Implementation of the client half of the MQTT messaging protocol can be found here: MqttDotNet

Below is an example of how to use .NET MqttLib

The CloudMQTT_URL can be found in the control panel for your instance.

URL structure

cloudmqtt_connectionString = hostname:port
ClientID = could be any generated ID

If you do not have an instance already, you can sign up in the control panel and then create a new instance from there.

using System;
using System.Collections.Generic;
using System.Text;

using MqttLib;

namespace Sample
    class Program
        static void Main(string[] args)
              if (args.Length != 4)

                  Console.WriteLine("Usage: " + Environment.GetCommandLineArgs()[0]
                      + " cloudmqtt_connectionString ClientId cloudmqtt_username cloudmqtt_password");

              Console.WriteLine("Starting MqttDotNet sample program.");
              Console.WriteLine("Press any key to stop\n");

              Program prog = new Program(args[0], args[1], args[2], args[3]);


        IMqtt _client;

        Program(string connectionString, string clientId, string username, string password)
            // Instantiate client using MqttClientFactor

      _client = MqttClientFactory.CreateClient(connectionString, clientId, username, password);

            // Setup some useful client delegate callbacks
            _client.Connected += new ConnectionDelegate(client_Connected);
            _client.ConnectionLost += new ConnectionDelegate(_client_ConnectionLost);
            _client.PublishArrived += new PublishArrivedDelegate(client_PublishArrived);

        void Start()
            // Connect to broker in 'CleanStart' mode
            Console.WriteLine("Client connecting\n");

        void Stop()
            if (_client.IsConnected)
                Console.WriteLine("Client disconnecting\n");
                Console.WriteLine("Client disconnected\n");

        void client_Connected(object sender, EventArgs e)
            Console.WriteLine("Client connected\n");

        void _client_ConnectionLost(object sender, EventArgs e)
            Console.WriteLine("Client connection lost\n");

        void RegisterOurSubscriptions()
            Console.WriteLine("Subscribing to mqttdotnet/subtest/#\n");
            _client.Subscribe("mqttdotnet/subtest/#", QoS.BestEfforts);

        void PublishSomething()
            Console.WriteLine("Publishing on mqttdotnet/pubtest\n");
            _client.Publish("mqttdotnet/pubtest", "Hello MQTT World", QoS.BestEfforts, false);

        bool client_PublishArrived(object sender, PublishArrivedArgs e)
            Console.WriteLine("Received Message");
            Console.WriteLine("Topic: " + e.Topic);
            Console.WriteLine("Payload: " + e.Payload);
            return true;

Full sample code can be found here