我有一个TCP流,需要从中读取以下格式的包(简化):
[ header = X bytes bytes ]
[ crc = 2 bytes ]
[ data_len = 2 bytes ]
[ header_len = 2 bytes ]
[ some text = X bytes ]
[ data = data len bytes]
要求是使用boost :: asio库。由于它可能已经很清楚,我需要按以下顺序阅读: 1.读取前6个字节以确定data_len和header_len; 2.将header_len字节读入头缓冲区; 3.将data_len字节读取到数据缓冲区;
问题是如何将n个字节读取到boost :: asio :: buffer,再读几个并以非阻塞方式附加它。谢谢。