利用boost::asio::read_until读http的chunk包,读取部分代码如下:
第一部分读取包头,第二部分循环读chunk包
如果不调用consume清空的话,while循环里一直获取到的是包头部分的内容,consume的官方文档解析如下:
测试代码运行结果如下:
虽然调用了consume,但是boost::asio::buffer_cast<const char*>(sb.data())每次调用时会有部分历史数据,我解决的方法是调用string(char *, int)新增了个对象,如果有明白原因的请指教