补全:带缓冲的消息读取

👁️ 1 人浏览 💬 0 人评论 ❤️ 添加收藏

本节的切包小工具:

frame(msg)        4 字节大端长度前缀 + 内容
Reader.feed(chunk) / Reader.messages()   喂进任意切碎、可能粘在一起的字节,吐出完整消息、剩下的攒着(半包 + 粘包)
recv_exactly(chunks, n)   从陆续到达的块里正好取 n 字节
split_lines(buf)          分隔符(换行)版:交回 (整行列表, 剩下的半行)

补全 Collector.feed(chunk):喂进碎块,返回本次能凑齐的完整消息列表(长度前缀格式),凑不齐的攒着。三块乱切的字节喂进去,看总共吐出哪些消息。

提交你的答案
请登录后提交答案。
去登录
代码编辑器
Ctrl + Enter 运行
本次输入:
输出:

                        
👩‍🏫
AI
💬 题目评论

全部评论