using System; using System.Threading; using System.Threading.Tasks; using Newtonsoft.Json.Linq; using YunDa.Server.ISMSTcp.Models; namespace YunDa.Server.ISMSTcp.Interfaces { /// /// TCP客户端接口 /// public interface ITcpClient : IDisposable { /// /// 连接状态 /// bool IsConnected { get; } /// /// TCP响应接收事件 /// event Func? TcpResponseReceived; /// /// 连接状态变化事件 /// event Action? ConnectionStatusChanged; /// /// 消息接收事件 /// event Action? MessageReceived; /// /// 命令状态变化事件 /// event Action? CommandStateChanged; /// /// 连接到服务器 /// /// IP地址 /// 端口 /// 取消令牌 /// 连接任务 Task ConnectAsync(string ip, int port, CancellationToken cancellationToken = default); /// /// 发送TCP消息 /// /// 消息内容 /// 取消令牌 /// 发送结果 Task SendMessageAsync(string message, CancellationToken cancellationToken = default); /// /// 启动数据处理 /// /// 取消令牌 /// 处理任务 Task StartProcessingAsync(CancellationToken cancellationToken = default); /// /// 停止处理 /// /// 停止任务 Task StopAsync(); } }