我有一个使用Boost ASIO异步TCP方法从TCP套接字读取的应用程序。流有终结标记,为了我的目的,读取数据块(而不是read_until)更有效,因为几乎总是我不会越过结束标记。
只是为了处理超出结束标记的罕见读数,有没有办法可以将额外的字节推回到套接字缓冲区?以便另一个异步处理程序可以看到完整的补充?或者,有没有办法在套接字流上模拟istream :: seekg?我搜索了SO和网络,但找不到任何线索。
谢谢!
答案 0 :(得分:1)
我发现我询问的功能不存在(没有asio方法来推回已读取的字节)。接近我想要的东西是窥视套接字缓冲区。然而,this SO question和Sam Miller对this SO question的回复让我放弃了我的一厢情愿,并重新设计我的申请,我不需要偷看或放回。