添加订阅主题并接收信息

This commit is contained in:
2025-07-13 21:34:53 +08:00
parent bb5e3bda56
commit 395f154135
2 changed files with 21 additions and 2 deletions

View File

@@ -49,6 +49,7 @@ public class DbMqtt
/// <summary>
/// MQTT客户端登录密码。
/// </summary>
[SugarColumn(IsIgnore = true)]
public string PassWord { get; set; } = String.Empty;
/// <summary>
@@ -65,21 +66,25 @@ public class DbMqtt
/// <summary>
/// MQTT发布主题。
/// </summary>
[SugarColumn(IsIgnore = true)]
public string PublishTopic { get; set; } = String.Empty;
/// <summary>
/// MQTT备注。
/// </summary>
[SugarColumn(IsIgnore = true)]
public string Remark { get; set; } = String.Empty;
/// <summary>
/// MQTT订阅主题。
/// </summary>
[SugarColumn(IsIgnore = true)]
public string SubTopics { get; set; } = String.Empty;
/// <summary>
/// MQTT客户端登录用户名。
/// </summary>
[SugarColumn(IsIgnore = true)]
public string UserName { get; set; } = String.Empty;
/// <summary>

View File

@@ -155,10 +155,24 @@ namespace PMSWPF.Services
.Build();
// 设置连接成功事件处理程序。
client.UseConnectedHandler(e =>
client.UseConnectedHandler(async e =>
{
NotificationHelper.ShowSuccess($"已连接到MQTT服务器: {mqtt.Name}");
mqtt.IsConnected = true;
// 订阅主题
await client.SubscribeAsync(new MqttTopicFilterBuilder().WithTopic("test").Build());
NlogHelper.Info($"MQTT客户端 {mqtt.Name} 已订阅主题: {mqtt.SubTopics}");
});
// 设置接收消息处理程序
client.UseApplicationMessageReceivedHandler(e =>
{
var topic = e.ApplicationMessage.Topic;
var payload = System.Text.Encoding.UTF8.GetString(e.ApplicationMessage.Payload);
NlogHelper.Info($"MQTT客户端 {mqtt.Name} 收到消息: 主题={topic}, 消息={payload}");
// 在这里添加处理消息的逻辑
});
// 设置断开连接事件处理程序。