コード例 #1
0
ファイル: iSpindelServer.cs プロジェクト: iSpindel/iSpindel
 private async Task UnsubscribeFromSensorTopics()
 {
     foreach (var topic in _sensorTopics)
     {
         await _mqttClient.UnsubscribeAsync(topic);
     }
 }
コード例 #2
0
 //MQTTClient topic cancelling subscription
 public static void ManagedMqttUnsubscribe(IManagedMqttClient managedMqttClient, string mqttTopic)
 {
     managedMqttClient.UseConnectedHandler(async e =>
     {
         await managedMqttClient.UnsubscribeAsync(mqttTopic);
     });
 }
コード例 #3
0
        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);
 }
コード例 #5
0
 public void Unsubscribe(string subscribtion)
 {
     if (!ranOnce)
     {
         return;
     }
     client.UnsubscribeAsync(new string[] { subscribtion });
 }
コード例 #6
0
        public static Task UnsubscribeAsync(this IManagedMqttClient managedClient, params string[] topicFilters)
        {
            if (managedClient == null)
            {
                throw new ArgumentNullException(nameof(managedClient));
            }

            return(managedClient.UnsubscribeAsync(topicFilters));
        }
コード例 #7
0
 public async void Unsubscribe(string topic)
 {
     try
     {
         await subscriber?.UnsubscribeAsync(topic);
     }
     catch (NullReferenceException)
     {
         //Do nothing
     }
 }
コード例 #8
0
        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
            }));
        }
コード例 #9
0
        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;
            }
        }
コード例 #10
0
 public async Task UnSubscribeTopic(string topic)
 {
     await _client.UnsubscribeAsync(topic);
 }
コード例 #11
0
 public async Task UnsubscribeAsync(string topic)
 {
     await clientMqtt.UnsubscribeAsync(topic);
 }
コード例 #12
0
 public async void UnSubcribeTopic(string topic)
 {
     await client.UnsubscribeAsync(topic);
 }
コード例 #13
0
ファイル: MqttIpcServer.cs プロジェクト: BlowaXD/RPC.Poc
        private void HandlersContainer_OnUnregistered(object sender, Type type)
        {
            IRoutingInformation infos = _router.GetRoutingInformations(type);

            _client.UnsubscribeAsync(infos.Topic).ConfigureAwait(false).GetAwaiter().GetResult();
        }
コード例 #14
0
 private async void Button_Unsubscribe(object sender, RoutedEventArgs e)
 {
     await mqttClient.UnsubscribeAsync(Topic.Text);
 }