private async Task UnsubscribeFromSensorTopics() { foreach (var topic in _sensorTopics) { await _mqttClient.UnsubscribeAsync(topic); } }
//MQTTClient topic cancelling subscription public static void ManagedMqttUnsubscribe(IManagedMqttClient managedMqttClient, string mqttTopic) { managedMqttClient.UseConnectedHandler(async e => { await managedMqttClient.UnsubscribeAsync(mqttTopic); }); }
private MqttIpcServer(MqttIpcServerConfiguration configuration, IIpcSerializer serializer, IIpcPacketRouter router, IIpcPacketHandlersContainer packetHandlersContainer) { _serializer = serializer; _router = router; _packetHandlersContainer = packetHandlersContainer; string clientName = configuration.ClientName; string endPoint = configuration.EndPoint; _client = new MqttFactory().CreateManagedMqttClient(new MqttNetLogger(clientName)); _packetFactory = new PacketContainerFactory(); _queues = new HashSet <string>(); _packetHandlersContainer.Registered += (sender, type) => CheckRouting(type).ConfigureAwait(false).GetAwaiter().GetResult(); _packetHandlersContainer.Unregistered += (sender, type) => { IRoutingInformation infos = _router.GetRoutingInformationsAsync(type).ConfigureAwait(false).GetAwaiter().GetResult(); _client.UnsubscribeAsync(infos.IncomingTopic).ConfigureAwait(false).GetAwaiter().GetResult(); }; ManagedMqttClientOptions options = new ManagedMqttClientOptionsBuilder() .WithAutoReconnectDelay(TimeSpan.FromSeconds(5)) .WithClientOptions(new MqttClientOptionsBuilder() .WithClientId(clientName) .WithTcpServer(endPoint) .Build()) .Build(); _client.ApplicationMessageReceived += (sender, args) => OnMessage(args.ClientId, args.ApplicationMessage); _client.StartAsync(options).ConfigureAwait(false).GetAwaiter().GetResult(); _client.Connected += (sender, args) => _log.Info($"[CONNECTED] {clientName} is connected on MQTT Broker {endPoint}"); _client.Disconnected += (sender, args) => _log.Info($"[DISCONNECTED] {clientName} has been disconnected on MQTT Broker {endPoint}"); }
/// <summary> /// Unsubscribe to one or more topics. /// </summary> /// <param name="topics">The topics to unsubscribe from.</param> public async Task UnubscribeAsync(string[] topics) { if (_managedMqttClient == null) { return; } await _managedMqttClient.UnsubscribeAsync(topics).ConfigureAwait(false); }
public void Unsubscribe(string subscribtion) { if (!ranOnce) { return; } client.UnsubscribeAsync(new string[] { subscribtion }); }
public static Task UnsubscribeAsync(this IManagedMqttClient managedClient, params string[] topicFilters) { if (managedClient == null) { throw new ArgumentNullException(nameof(managedClient)); } return(managedClient.UnsubscribeAsync(topicFilters)); }
public async void Unsubscribe(string topic) { try { await subscriber?.UnsubscribeAsync(topic); } catch (NullReferenceException) { //Do nothing } }
public static Task UnsubscribeAsync(this IManagedMqttClient managedMqttClient, string topic) { if (managedMqttClient == null) { throw new ArgumentNullException(nameof(managedMqttClient)); } if (topic == null) { throw new ArgumentNullException(nameof(topic)); } return(managedMqttClient.UnsubscribeAsync(new List <string> { topic })); }
private async void Unsubscribe(object sender, RoutedEventArgs e) { try { if (_mqttClient != null) { await _mqttClient.UnsubscribeAsync(SubscribeTopic.Text); } if (_managedMqttClient != null) { await _managedMqttClient.UnsubscribeAsync(SubscribeTopic.Text); } } catch (Exception exception) { Trace.Text += exception + Environment.NewLine; } }
public async Task UnSubscribeTopic(string topic) { await _client.UnsubscribeAsync(topic); }
public async Task UnsubscribeAsync(string topic) { await clientMqtt.UnsubscribeAsync(topic); }
public async void UnSubcribeTopic(string topic) { await client.UnsubscribeAsync(topic); }
private void HandlersContainer_OnUnregistered(object sender, Type type) { IRoutingInformation infos = _router.GetRoutingInformations(type); _client.UnsubscribeAsync(infos.Topic).ConfigureAwait(false).GetAwaiter().GetResult(); }
private async void Button_Unsubscribe(object sender, RoutedEventArgs e) { await mqttClient.UnsubscribeAsync(Topic.Text); }