Skip to content
bitzorcas
EN

Concept

实时通信

计划中的实时通信 — IChatRealtimeAdapter 端口与 Null 默认实现,SignalR/WebSocket 适配器路线图用于实时聊天和通知。

Last updated

BitzOrcas 为实时通信定义了 IChatRealtimeAdapter 端口,但使用 NullChatRealtimeAdapter(空操作)作为默认。实时功能尚未实现

当前状态

public interface IChatRealtimeAdapter
{
Task MessageCreatedAsync(ChatMessage message, CancellationToken ct);
Task MessageEditedAsync(ChatMessage message, CancellationToken ct);
Task MemberJoinedAsync(ChatMember member, CancellationToken ct);
}
// 默认:空操作
public class NullChatRealtimeAdapter : IChatRealtimeAdapter
{
public Task MessageCreatedAsync(...) => Task.CompletedTask;
public Task MessageEditedAsync(...) => Task.CompletedTask;
public Task MemberJoinedAsync(...) => Task.CompletedTask;
}

消息已持久化并通过 API 可查询——只是不实时推送。

计划实现

技术用途
SignalR实时聊天消息推送、输入指示器
Server-Sent Events通知收件箱更新
WebSocket自定义实时功能

架构(计划)

ChatService
IChatRealtimeAdapter
├── SignalR ChatHub (计划中)
├── SSE NotificationStream (计划中)
└── WebSocket CustomChannel (计划中)

集成考量

  • 实时适配器需要连接管理和租户隔离
  • WebSocket/SSE 连接必须验证认证令牌
  • 高频频道需要背压处理
  • 不支持 WebSocket 的环境回退到轮询

另见