From e9bb18343eff6305b0a734784dbe0dc0e589ab05 Mon Sep 17 00:00:00 2001 From: Cloud Zhang <941187371@qq.com> Date: 星期三, 08 五月 2024 14:39:46 +0800 Subject: [PATCH] 合并 --- Tiger.IBusiness/Core/MQTTHelper.cs | 76 ++++++++++++++++++++++++++++++++++--- 1 files changed, 69 insertions(+), 7 deletions(-) diff --git a/Tiger.IBusiness/Core/MQTTHelper.cs b/Tiger.IBusiness/Core/MQTTHelper.cs index 9f55f53..2e045a6 100644 --- a/Tiger.IBusiness/Core/MQTTHelper.cs +++ b/Tiger.IBusiness/Core/MQTTHelper.cs @@ -1,4 +1,5 @@ -锘縰sing MQTTnet; +锘縰sing Microsoft.Extensions.Configuration; +using MQTTnet; using MQTTnet.Client; using MQTTnet.Protocol; using MQTTnet.Server; @@ -15,6 +16,53 @@ namespace Tiger.IBusiness.Utility { + /// <summary> + /// MQTTHelper + /// </summary> + public static class MQTTHelper + { + #region Variables + private static IConfiguration Setting = ApiConfig.Configuration; + #endregion + + #region Propertys + + #endregion + + #region Functions + public static void Start() + { + try + { + if (Setting["MQTT:Enable"].ToBoolean() == true) + { + + ConsoleExt.WriteLine("Start MQTT Service..........", ConsoleColor.Yellow); + Logger.Default.Info("Start MQTT Service"); + } + } + catch (System.Exception ex) + { + Logger.Default.Fatal(ex, "Start MQTT Service Exception"); + } + } + + public static void Stop() + { + try + { + + Logger.Console.Info("Stop MQTT Service"); + } + catch (System.Exception ex) + { + Logger.Console.Fatal(ex, "Stop MQTT Service Exception"); + } + } + + + #endregion + } /// <summary> /// EMQX 甯姪绫� /// </summary> @@ -35,20 +83,34 @@ Password = password; } + #region Variables + private List<string> TopicList = new(); + #endregion + + #region Propertys + public string Id { get; set; } = Guid.NewGuid().ToString("N"); + public string Tag { get; set; } = "ClientMonitor"; + public string Name { get; set; } = "ClientMonitor"; + public bool IsRunning { get; set; } + public IMqttClient Client { get; set; } = new MqttFactory().CreateMqttClient();//MQTT瀹㈡埛绔� public string Address { get; set; } public int Port { get; set; } = 1883; - public string ClientId { get; set; } = $"{Environment.MachineName}-Client-{Guid.NewGuid():N}"; + public string ClientId { get; set; } = $"{Environment.MachineName}-ApiClient-{Guid.NewGuid():N}"; public string Username { get; set; } public string Password { get; set; } public int ApiPort { get; set; } = 18083; public string ApiKey { get; set; } public string ApiSecretKey { get; set; } public string ApiCredentials => Convert.ToBase64String(Encoding.ASCII.GetBytes($"{ApiKey}:{ApiSecretKey}")); - /// <summary> - /// MQTT瀹㈡埛绔� - /// </summary> - public IMqttClient Client = new MqttFactory().CreateMqttClient(); - private List<string> TopicList = new(); + //閬楀槺娑堟伅 + public string WillMsgTopic { get; set; } + public MqttQualityOfServiceLevel WillMsgQos { get; set; } + public bool WillMsgRetain { get; set; } + public string WillMsgPayload { get; set; } + public int? WillMsgDelay { get; set; } + public int? WillMsgExpiry { get; set; } + #endregion + public Result<IMqttClient> Connect(string clientId = null) { -- Gitblit v1.9.3