You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1.6 KiB

.NET 8 WebSocket 传输接口提示词(IWebSocketTransport.cs) 定义 WebSocket 传输接口,抽象核心功能,支持生产环境的高性能和可维护性。文件建议控制在 200 行以内(预计 < 50 行)。 要求

接口职责:

定义核心操作:连接、发送消息(文本/二进制)、接收消息、关闭连接。 提供状态查询属性:连接状态、队列长度、最后心跳时间。 继承 IDisposable 支持资源释放。

方法和属性:

Task ConnectAsync(CancellationToken cancellationToken): 异步连接 WebSocket 服务器。 Task SendAsync(T message, CancellationToken cancellationToken): 异步发送消息,支持泛型(文本/二进制)。 IAsyncEnumerable ReceiveAsync(CancellationToken cancellationToken): 异步接收消息流,支持泛型。 Task CloseAsync(CancellationToken cancellationToken): 异步关闭连接。 bool IsConnected { get; }: 当前连接状态。 int SendQueueLength { get; }: 发送队列长度。 DateTime? LastHeartbeat { get; }: 最后心跳时间。

设计原则:

依赖倒置:抽象传输行为,便于测试和替换。 单一职责:仅定义接口,不包含实现。 可扩展性:泛型方法支持文本/二进制消息。

生产环境考虑:

方法支持 CancellationToken 实现超时和取消。 属性提供状态监控,增强可观察性。 支持二进制消息,适配复杂场景。

输出要求:

文件名为 IWebSocketTransport.cs,位于 Interfaces 目录。 建议 < 50 行,包含详细注释。 说明每个方法/属性的用途和预期行为。 不包含实现逻辑,仅定义接口。