public async Task Fire_Client_Subscribed_Event() { using (var testEnvironment = CreateTestEnvironment()) { var server = await testEnvironment.StartServer(); MqttServerClientSubscribedTopicEventArgs eventArgs = null; server.ClientSubscribedTopicHandler = new MqttServerClientSubscribedTopicHandlerDelegate(e => { eventArgs = e; }); var client = await testEnvironment.ConnectClient(); await client.SubscribeAsync("The/Topic", MqttQualityOfServiceLevel.AtLeastOnce); await LongTestDelay(); Assert.IsNotNull(eventArgs); Assert.IsTrue(eventArgs.ClientId.StartsWith(nameof(Fire_Client_Subscribed_Event))); Assert.AreEqual("The/Topic", eventArgs.TopicFilter.Topic); Assert.AreEqual(MqttQualityOfServiceLevel.AtLeastOnce, eventArgs.TopicFilter.QualityOfServiceLevel); } }
/// <summary> /// 某客户端订阅了某主题 /// </summary> public void EH_ClientSubscribed(MqttServerClientSubscribedTopicEventArgs eventArgs) { LMLogs.NLog.Logger.Log(LMLogs.LogLevel.Info, $"检测到有客户端订阅了主题:\n" + $"客户端名称:<{eventArgs.ClientId}>\n" + $"主题名:<{eventArgs.TopicFilter.Topic}>"); }
internal void Server_ClientSubscribedTopic(object sender, MqttServerClientSubscribedTopicEventArgs e) { _logger.LogInformation($"Client [{e.ClientId}] subscribed [{e.TopicFilter}]"); if (e.TopicFilter.Topic.StartsWith("$SYS/")) { if (e.TopicFilter.Topic.StartsWith("$SYS/broker/version")) { var mename = typeof(MQTTServerHandler).Assembly.GetName(); var mqttnet = typeof(MqttServerClientSubscribedTopicEventArgs).Assembly.GetName(); Task.Run(() => _serverEx.PublishAsync("$SYS/broker/version", $"{mename.Name}V{mename.Version.ToString()},{mqttnet.Name}.{mqttnet.Version.ToString()}")); } else if (e.TopicFilter.Topic.StartsWith("$SYS/broker/uptime")) { Task.Run(() => _serverEx.PublishAsync("$SYS/broker/uptime", uptime.ToString())); } } if (e.TopicFilter.Topic.ToLower().StartsWith("/devices/telemetry")) { } else { Subscribed++; Task.Run(() => _serverEx.PublishAsync("$SYS/broker/subscriptions/count", Subscribed.ToString())); } }
public Task HandleClientSubscribedTopicAsync(MqttServerClientSubscribedTopicEventArgs eventArgs) { lbxMessage.BeginInvoke(this.updateListBoxAction, $"@ClientSubscribedTopic ClientId:{eventArgs.ClientId} Topic:{eventArgs.TopicFilter.Topic} QualityOfServiceLevel:{eventArgs.TopicFilter.QualityOfServiceLevel}"); return(Task.FromResult(0)); }
/// <summary> /// 客户订阅 /// </summary> /// <param name="e"></param> private static void MqttNetServer_SubscribedTopic(MqttServerClientSubscribedTopicEventArgs e) { //客户端Id var ClientId = e.ClientId; var Topic = e.TopicFilter.Topic; Console.WriteLine($"客户端[{ClientId}]已订阅主题:{Topic}"); }
/// <summary> /// 客户订阅 /// </summary> private void MqttNetServer_SubscribedTopic(MqttServerClientSubscribedTopicEventArgs e) { //客户端Id string ClientId = e.ClientId; string Topic = e.TopicFilter.Topic; log.LogInformation($"client [{ClientId}] Subscribed Topic [{Topic}]"); }
internal void Server_ClientSubscribedTopic(object sender, MqttServerClientSubscribedTopicEventArgs e) { _logger.LogInformation($"Client [{e.ClientId}]Subscribed[{e.TopicFilter}]"); if (e.TopicFilter.Topic.StartsWith("$SYS/")) { BrokerStatus.SYSTopics.Add(e.TopicFilter.Topic); } else { MQTTBroker.Status.Subscribed++; } }
public Task HandleClientSubscribedTopicAsync(MqttServerClientSubscribedTopicEventArgs context) { try { //_logger.LogInformation($"Received subscribe request from '{context.ClientId}' for topic '{context.TopicFilter.Topic}'"); } catch (Exception exception) { _logger.LogError(exception, $"Error while handling client subscribed topic event from '{context.ClientId}'"); } return(Task.CompletedTask); }
public Task HandleClientSubscribedTopicAsync(MqttServerClientSubscribedTopicEventArgs eventArgs) { Publisher publisher; if (publishers.TryGetValue(eventArgs.ClientId, out publisher)) { publisher.AddPublishFilter(eventArgs.ClientId, eventArgs.TopicFilter.Topic); } else { throw new Exception($"Could not subscribe {eventArgs.ClientId} to topic {eventArgs.TopicFilter}!"); } return(Task.CompletedTask); }
public Task HandleClientSubscribedTopicAsync(MqttServerClientSubscribedTopicEventArgs eventArgs) { try { var pythonEventArgs = new PythonDictionary { { "client_id", eventArgs.ClientId }, { "topic", eventArgs.TopicFilter.Topic }, { "qos", (int)eventArgs.TopicFilter.QualityOfServiceLevel } }; _pythonScriptHostService.InvokeOptionalFunction("on_client_subscribed_topic", pythonEventArgs); } catch (Exception exception) { _logger.LogError(exception, "Error while handling client subscribed topic event."); } return(Task.CompletedTask); }
private void OnClientSubscribedTopicHandler(MqttServerClientSubscribedTopicEventArgs e) { Console.WriteLine("Client Id: " + e.ClientId + " subscribed topic " + e.TopicFilter.Topic); }
public Task HandleClientSubscribedTopicAsync(MqttServerClientSubscribedTopicEventArgs eventArgs) { return(_handlerInstance.ClientSubscribedTopic(new RemoteSubscribedEvent(eventArgs.ClientId, eventArgs.TopicFilter.Topic))); }
public async Task HandleClientSubscribedTopicAsync(MqttServerClientSubscribedTopicEventArgs eventArgs) { Console.WriteLine(eventArgs.ClientId + ":" + eventArgs.TopicFilter); }
public Task HandleClientSubscribedTopicAsync(MqttServerClientSubscribedTopicEventArgs eventArgs) { throw new System.NotImplementedException(); }
public Task HandleClientSubscribedTopicAsync(MqttServerClientSubscribedTopicEventArgs eventArgs) { return(Task.FromResult("")); }
public Task ClientSubscribedAsync(MqttServerClientSubscribedTopicEventArgs eventArgs) { return(Task.CompletedTask); }
private async Task SubscribeTopic(MqttServerClientSubscribedTopicEventArgs topicArg) { nlogger.Debug("topic subscribed." + topicArg.TopicFilter.Topic); }
public static void OnMqttServerClientSubscribedTopic(MqttServerClientSubscribedTopicEventArgs e) { //Console.WriteLine($"客户端[{e.ClientId}]已成功订阅主题[{e.TopicFilter}]!"); }
public void OnMqttServerClientSubscribedTopic(MqttServerClientSubscribedTopicEventArgs e) { //Console.WriteLine($"客户端[{e.ClientId}]已成功订阅主题[{e.TopicFilter}]!"); lbxMonitor.BeginInvoke(_updateMonitorAction, Logger.TraceLog(Logger.Level.Info, $"客户端[{e.ClientId}]已成功订阅主题[{e.TopicFilter}]!")); }
public Task HandleClientSubscribedTopicAsync(MqttServerClientSubscribedTopicEventArgs eventArgs) { _logger.LogInformation($"Client: {eventArgs.ClientId} subscribed to {eventArgs.TopicFilter.Topic} topic!"); return(Task.CompletedTask); }