IMqttPublisherService.cs
958 Bytes
using System.Threading.Tasks;
using System.Collections.Generic;
namespace NCC.Extend.Interfaces.MqttPublisher
{
public interface IMqttPublisherService
{
Task<bool> PublishAsync(string topic, string payload);
Task StartAsync();
/// <summary>
/// 查询指定clientId是否在线(通过EMQX管理API)
/// </summary>
/// <param name="clientId"></param>
/// <returns></returns>
Task<dynamic> IsClientOnlineAsync(string clientId);
/// <summary>
/// 批量查询设备在线状态(提高效率)
/// </summary>
/// <param name="clientIds">要查询的客户端ID列表</param>
/// <returns>在线状态字典</returns>
Task<Dictionary<string, bool>> BatchCheckOnlineStatusAsync(List<string> clientIds);
/// <summary>
/// 清理过期的缓存数据
/// </summary>
void CleanupExpiredCache();
}
}