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);
}
}