Exemplo n.º 1
0
        private static void SubscribeExcample()
        {
            // Setup and start a rx MQTT client.
            var options = new ManagedMqttClientOptionsBuilder()
                          .WithAutoReconnectDelay(TimeSpan.FromSeconds(5))
                          .WithClientOptions(new MqttClientOptionsBuilder()
                                             .WithClientId("Client1")
                                             .WithTcpServer("127.0.0.1")
                                             .Build())
                          .Build();

            using var mqttClient = new MqttFactory().CreateRxMqttClient();
            _ = mqttClient.StartAsync(options);

            const string topic = "MyTopic/#";

            mqttClient.Connect(topic)
            .Select(message => new { message.ApplicationMessage.Topic, Payload = message.ApplicationMessage.Payload.ToUTF8String() })
            .Subscribe(message => Console.WriteLine($"@{message.Topic}: {message.Payload}"));

            WaitForExit($"Subscribed to {topic}.");
        }