Ich bin ziemlich neu in Asio Framework, also bitte sei nett. Ich habe mehr Boost Asio Beispiel untersucht und festgestellt, dass Menschen async wie diese verwenden Anruf:Boost: Ist es sicher, mehrere Rekursionen in asynchronen Aufrufen zu verwenden?
void read()
{
async_read(socket_, boost::asio::buffer(&user_[0], user_.size()),
boost::bind(&Connection::handle_user_read, this,
placeholders::error, placeholders::bytes_transferred));
}
void handle_user_read(...)
{
...
read();
...
}
Ich denke, dieser Code ist nicht sicher, da sie mehrere Rekursion verwendet. So kann es nicht verwendet werden, wenn viele Leseoperationen wegen Call-Stack-Überlauf durchgeführt werden. Ich bin nicht 100% sicher und kann keine ähnlichen Gedanken von anderen Menschen finden.
Könnte jemand bitte dies im Detail erklären?
Also: ja, es ist sicher. so machen sie das in der Boost-Dokumentation. – Unda
Danke, daran habe ich nicht gedacht. Jetzt ist es vollkommen klar. –