using Serein.Proto.WebSocket.Handle; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using NetWebSocket = System.Net.WebSockets.WebSocket; namespace Serein.Proto.WebSocket { /// /// WebSocket服务 /// public interface ISereinWebSocketService { /// /// 目前有多少个连接 /// int ConcetionCount { get; } /// /// 添加处理模块 /// /// /// ISereinWebSocketService AddHandleModule() where T : ISocketHandleModule, new(); /// /// 添加处理模块 /// /// /// 使用指定的实例 /// ISereinWebSocketService AddHandleModule(Func instanceFactory) where T : ISocketHandleModule; /// /// 跟踪未处理的异常 /// /// /// ISereinWebSocketService TrackUnhandledExceptions(Action onExceptionTracking); /// /// 添加新的 WebSocket 连接进行处理消息 /// /// Task AddWebSocketHandleAsync(NetWebSocket webSocket); /// /// 推送消息 /// /// /// Task PushDataAsync(object latestData); /// /// 设置回调函数,用于处理外部请求时的回复消息 /// /// void OnReplyMakeData(Func func); /// /// 设置回调函数,回复外部请求时,记录消息内容 /// /// void OnReply(Action onReply); } }