public void Create_SubscribeOptionsBuilder() { var factory = new MqttFactory(); var builder = factory.CreateSubscribeOptionsBuilder(); Assert.IsNotNull(builder); }
public static async Task Subscribe_Topic() { /* * This sample subscribes to a topic. */ var mqttFactory = new MqttFactory(); using (var mqttClient = mqttFactory.CreateMqttClient()) { var mqttClientOptions = new MqttClientOptionsBuilder() .WithTcpServer("broker.hivemq.com") .Build(); await mqttClient.ConnectAsync(mqttClientOptions, CancellationToken.None); var mqttSubscribeOptions = mqttFactory.CreateSubscribeOptionsBuilder() .WithTopicFilter(f => { f.WithTopic("mqttnet/samples/topic/1"); }) .Build(); var response = await mqttClient.SubscribeAsync(mqttSubscribeOptions, CancellationToken.None); Console.WriteLine("MQTT client subscribed to topic."); // The response contains additional data sent by the server after subscribing. response.DumpToConsole(); } }
private async Task ConnectionHandler(MqttClientConnectedEventArgs arg) { _mqttClient.UseApplicationMessageReceivedHandler(HandleDeviceMessage); var mqttSubscribeOptions = _mqttFactory .CreateSubscribeOptionsBuilder() .WithTopicFilter(f => { f.WithTopic(_topicToSubscribe); }) .Build(); await _mqttClient.SubscribeAsync(mqttSubscribeOptions); }
private async Task Handler(MqttClientConnectedEventArgs arg) { _mqttClient.UseApplicationMessageReceivedHandler(HandleDiscoveryTopic); var mqttSubscribeOptions = _mqttFactory .CreateSubscribeOptionsBuilder() .WithTopicFilter(f => { f.WithTopic("homeassistant/#"); }) .Build(); await _mqttClient.SubscribeAsync(mqttSubscribeOptions); }
public static async Task Handle_Received_Application_Message() { /* * This sample subscribes to a topic and processes the received message. */ var mqttFactory = new MqttFactory(); using (var mqttClient = mqttFactory.CreateMqttClient()) { var mqttClientOptions = new MqttClientOptionsBuilder() .WithTcpServer("broker.hivemq.com") .Build(); // Setup message handling before connecting so that queued messages // are also handled properly. When there is no event handler attached all // received messages get lost. mqttClient.ApplicationMessageReceivedAsync += e => { Console.WriteLine("Received application message."); e.DumpToConsole(); return(Task.CompletedTask); }; await mqttClient.ConnectAsync(mqttClientOptions, CancellationToken.None); var mqttSubscribeOptions = mqttFactory.CreateSubscribeOptionsBuilder() .WithTopicFilter(f => { f.WithTopic("mqttnet/samples/topic/2"); }) .Build(); await mqttClient.SubscribeAsync(mqttSubscribeOptions, CancellationToken.None); Console.WriteLine("MQTT client subscribed to topic."); Console.WriteLine("Press enter to exit."); Console.ReadLine(); } }