补全:给消息加长度前缀
本节的切包小工具:
Reader.feed(chunk) / Reader.messages() 喂进任意切碎、可能粘在一起的字节,吐出完整消息、剩下的攒着(半包 + 粘包)
recv_exactly(chunks, n) 从陆续到达的块里正好取 n 字节
split_lines(buf) 分隔符(换行)版:交回 (整行列表, 剩下的半行)补全 pack(msg):4 字节大端长度前缀 + 内容。看 "hi" 打包后的十六进制。
本节的切包小工具:
Reader.feed(chunk) / Reader.messages() 喂进任意切碎、可能粘在一起的字节,吐出完整消息、剩下的攒着(半包 + 粘包)
recv_exactly(chunks, n) 从陆续到达的块里正好取 n 字节
split_lines(buf) 分隔符(换行)版:交回 (整行列表, 剩下的半行)补全 pack(msg):4 字节大端长度前缀 + 内容。看 "hi" 打包后的十六进制。
全部评论