using DMS.Core.Models; using MQTTnet.Client; using System; using System.Threading.Tasks; namespace DMS.Infrastructure.Interfaces.Services { /// /// MQTT服务接口,定义MQTT客户端的基本操作 /// public interface IMqttService { /// /// 获取MQTT客户端连接状态 /// bool IsConnected { get; } /// /// 异步连接到MQTT服务器 /// /// MQTT服务器URL /// 端口号 /// 客户端ID /// 用户名 /// 密码 Task ConnectAsync(string serverUrl, int port, string clientId, string username, string password); /// /// 异步断开MQTT连接 /// Task DisconnectAsync(); /// /// 异步发布消息 /// /// 主题 /// 消息内容 Task PublishAsync(string topic, string payload); /// /// 异步订阅主题 /// /// 要订阅的主题 Task SubscribeAsync(string topic); /// /// 设置消息接收处理程序 /// /// 消息处理回调函数 void SetMessageHandler(Func handler); } }