Exemple #1
0
 /// <summary>
 /// 某客户端退订了某主题
 /// </summary>
 public void EH_ClientUnSubscribed(MqttServerClientUnsubscribedTopicEventArgs eventArgs)
 {
     LMLogs.NLog.Logger.Log(LMLogs.LogLevel.Info,
                            $"检测到有客户端退订了主题:\n" +
                            $"客户端名称:<{eventArgs.ClientId}>\n" +
                            $"主题名:<{eventArgs.TopicFilter}>");
 }
        /// <summary>
        /// 客户取消订阅
        /// </summary>
        private void MqttNetServer_UnSubscribedTopic(MqttServerClientUnsubscribedTopicEventArgs e)
        {
            //客户端Id
            string ClientId = e.ClientId;
            string Topic    = e.TopicFilter;

            log.LogInformation($"client [{ClientId}] UnSubscribed Topic [{Topic}]");
        }
Exemple #3
0
        /// <summary>
        /// 客户取消订阅
        /// </summary>
        /// <param name="e"></param>
        private static void MqttNetServer_UnSubscribedTopic(MqttServerClientUnsubscribedTopicEventArgs e)
        {
            //客户端Id
            var ClientId = e.ClientId;
            var Topic    = e.TopicFilter;

            Console.WriteLine($"客户端[{ClientId}]已取消订阅主题:{Topic}");
        }
 internal void Server_ClientUnsubscribedTopic(object sender, MqttServerClientUnsubscribedTopicEventArgs e)
 {
     _logger.LogInformation($"Client [{e.ClientId}] unsubscribed[{e.TopicFilter}]");
     if (!e.TopicFilter.StartsWith("$SYS/"))
     {
         Subscribed--;
         Task.Run(() => _serverEx.PublishAsync("$SYS/broker/subscriptions/count", Subscribed.ToString()));
     }
 }
Exemple #5
0
        private void HandleUnsubscription(MqttServerClientUnsubscribedTopicEventArgs eventArgs)
        {
            if (this.cancellationToken.IsCancellationRequested)
            {
                return;
            }

            var repositoryGrain = this.clusterClient.GetGrain <IMqttRepositoryGrain>(0);

            repositoryGrain.ProceedUnsubscription(eventArgs);
        }
 internal void Server_ClientUnsubscribedTopic(object sender, MqttServerClientUnsubscribedTopicEventArgs e)
 {
     _logger.LogInformation($"Client [{e.ClientId}] Unsubscribed[{e.TopicFilter}]");
     if (!e.TopicFilter.StartsWith("$SYS/"))
     {
         MQTTBroker.Status.Subscribed--;
     }
     else
     {
         BrokerStatus.SYSTopics.Remove(e.TopicFilter);
     }
 }
        public Task HandleClientUnsubscribedTopicAsync(MqttServerClientUnsubscribedTopicEventArgs context)
        {
            try
            {
                //_logger.LogInformation($"Received unsubscribe request from '{context.ClientId}' for topic '{context.TopicFilter}'");
            }
            catch (Exception exception)
            {
                _logger.LogError(exception, "Error while handling client unsubscribed topic event.");
            }

            return(Task.CompletedTask);
        }
        public async Task HandleClientUnsubscribedTopicAsync(MqttServerClientUnsubscribedTopicEventArgs eventArgs)
        {
            Publisher publisher;

            if (publishers.TryGetValue(eventArgs.ClientId, out publisher))
            {
                publisher.RemovePublishFilter(eventArgs.ClientId, eventArgs.TopicFilter);
            }
            else
            {
                throw new Exception($"Could not unsubscribe {eventArgs.ClientId} from topic {eventArgs.TopicFilter}!");
            }
        }
        public Task HandleClientUnsubscribedTopicAsync(MqttServerClientUnsubscribedTopicEventArgs eventArgs)
        {
            try
            {
                var pythonEventArgs = new PythonDictionary
                {
                    { "client_id", eventArgs.ClientId },
                    { "topic", eventArgs.TopicFilter }
                };

                _pythonScriptHostService.InvokeOptionalFunction("on_client_unsubscribed_topic", pythonEventArgs);
            }
            catch (Exception exception)
            {
                _logger.LogError(exception, "Error while handling client unsubscribed topic event.");
            }

            return(Task.CompletedTask);
        }
Exemple #10
0
        public async Task ProceedUnsubscription(MqttServerClientUnsubscribedTopicEventArgs eventArgs)
        {
            try
            {
                if (eventArgs == null)
                {
                    return;
                }

                // Save unsubscription to the database
                var eventLog = new EventLog
                {
                    EventType    = EventType.Unsubscription,
                    EventDetails = $"Unsubscription: ClientId = {eventArgs.ClientId}, TopicFilter = {eventArgs.TopicFilter}."
                };

                await this.eventLogRepository.InsertEventLog(eventLog);
            }
            catch (Exception ex)
            {
                this.logger.Error("An error occured: {ex}.", ex);
            }
        }
Exemple #11
0
        public async Task Fire_Client_Unsubscribed_Event()
        {
            using (var testEnvironment = CreateTestEnvironment())
            {
                var server = await testEnvironment.StartServer();

                MqttServerClientUnsubscribedTopicEventArgs eventArgs = null;
                server.ClientUnsubscribedTopicHandler = new MqttServerClientUnsubscribedTopicHandlerDelegate(e =>
                {
                    eventArgs = e;
                });

                var client = await testEnvironment.ConnectClient();

                await client.UnsubscribeAsync("The/Topic");

                await LongTestDelay();

                Assert.IsNotNull(eventArgs);

                Assert.IsTrue(eventArgs.ClientId.StartsWith(nameof(Fire_Client_Unsubscribed_Event)));
                Assert.AreEqual("The/Topic", eventArgs.TopicFilter);
            }
        }
Exemple #12
0
 public Task ClientUnsubscribedAsync(MqttServerClientUnsubscribedTopicEventArgs eventArgs)
 {
     return(Task.CompletedTask);
 }
Exemple #13
0
 private async Task UnSubscribeTopic(MqttServerClientUnsubscribedTopicEventArgs topicArg)
 {
     nlogger.Debug("topic unSubscribed." + topicArg.TopicFilter.GetType());
 }
 public Task HandleClientUnsubscribedTopicAsync(MqttServerClientUnsubscribedTopicEventArgs eventArgs)
 {
     throw new System.NotImplementedException();
 }
Exemple #15
0
 public void OnMqttServerClientUnsubscribedTopic(MqttServerClientUnsubscribedTopicEventArgs e)
 {
     //Console.WriteLine($"客户端[{e.ClientId}]已成功取消订阅主题[{e.TopicFilter}]!");
     lbxMonitor.BeginInvoke(_updateMonitorAction,
                            Logger.TraceLog(Logger.Level.Info, $"客户端[{e.ClientId}]已成功取消订阅主题[{e.TopicFilter}]!"));
 }
Exemple #16
0
 public Task HandleClientUnsubscribedTopicAsync(MqttServerClientUnsubscribedTopicEventArgs eventArgs)
 {
     _logger.LogInformation($"Client: {eventArgs.ClientId} unsubscribed topic {eventArgs.TopicFilter}");
     return(Task.CompletedTask);
 }
Exemple #17
0
 public Task HandleClientUnsubscribedTopicAsync(MqttServerClientUnsubscribedTopicEventArgs eventArgs)
 {
     return(Task.FromResult(""));
 }
 private static void MqttServerOnClientUnsubscribedTopic(object sender, MqttServerClientUnsubscribedTopicEventArgs e)
 {
     Console.WriteLine("Client unsubscribed from topic: " + e.ClientId + ", " + e.TopicFilter);
 }
Exemple #19
0
 private void OnClientUnsubscribedTopicHandler(MqttServerClientUnsubscribedTopicEventArgs e)
 {
     Console.WriteLine("Client Id: " + e.ClientId + " unsubcribed topic " + e.TopicFilter);
 }
Exemple #20
0
 public static void OnMqttServerClientUnsubscribedTopic(MqttServerClientUnsubscribedTopicEventArgs e)
 {
     //Console.WriteLine($"客户端[{e.ClientId}]已成功取消订阅主题[{e.TopicFilter}]!");
 }
        public Task HandleClientUnsubscribedTopicAsync(MqttServerClientUnsubscribedTopicEventArgs eventArgs)
        {
            lbxMessage.BeginInvoke(this.updateListBoxAction, $"%ClientUnsubscribedTopic ClientId:{eventArgs.ClientId} Topic:{eventArgs.TopicFilter.Length}");

            return(Task.FromResult(0));
        }