@HeavyRain
是不是应该在协议栈里面直接去支持流式消息。
首先客户端定义几个消息:
- StreamStartTextMessageContent,存储并计数,是UI 层显示的具体消息
- StreamAppendTextMessageContent,透传,包含- start消息的- messageUid和本次新- append的内容,协议栈收到该消息之后,更新- start消息
- StreamEndTextMessageContent,存储不计数,包含- start消息的- messageUid和流式输出最终的结果,这条消息可选
然后,server api提供几个流式输出相关的接口
- startStreamMessage,其实就是发送- StreamStartTextMessageContent
- appendStreamMessage,触发发送- StreamAppendTextMessageContent
- endStreamMessage,更新- start消息,并发送- StreamEndTextMessageContent
拉取历史消息时,特殊处理StreamEndTextMessageContent消息,可以直接抛弃。