C++ Asio:几个异步recv_until()调用是否完成并按方法调用的顺序回调?
Asio:几个异步recv_until()调用是否完成并按方法调用的顺序回调 我有一个程序,可以在服务器应答之前进行两次C++ Asio:几个异步recv_until()调用是否完成并按方法调用的顺序回调?,c++,boost,boost-asio,C++,Boost,Boost Asio,Asio:几个异步recv_until()调用是否完成并按方法调用的顺序回调 我有一个程序,可以在服务器应答之前进行两次async\u recv\u until()调用 但是,至关重要的是,第一个调用async\u recv\u until()得到这个响应。有没有办法确保这一点 您似乎有输入错误:asio api中没有async\u recv*操作。有async\u read*和async\u receive,这两种行为略有不同 不能在同一套接字上对async\u read*操作进行排队(但可以
async\u recv\u until()
调用
但是,至关重要的是,第一个调用
async\u recv\u until()
得到这个响应。有没有办法确保这一点 您似乎有输入错误:asio api中没有async\u recv*
操作。有async\u read*
和async\u receive
,这两种行为略有不同
不能在同一套接字上对async\u read*
操作进行排队(但可以在不同的套接字上执行这些操作,每个套接字一次激活一个)。发件人:
程序必须确保流不执行其他读取
操作(如async_read、流的async_read_some函数、,
或执行读取的任何其他组合操作),直到
操作完成
所以答案是:您应该在第一次完成后(调用回调后)才执行第二次
异步读取。\如果两次调用都针对同一个套接字,回调将按照发布的顺序进行(除非某些潜在错误导致提前回调)。尽管拥有依赖于这些调用顺序的状态似乎是一个有缺陷的设计决策。谢谢。你怎么知道的?