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(Func, Task> onExceptionTrackingAsync); /// /// 添加新的 WebSocket 连接进行处理消息 /// /// Task AddWebSocketHandleAsync(NetWebSocket webSocket); /// /// 推送消息 /// /// /// Task PushDataAsync(object latestData); } }