Czy curl_easy_perform () jest synchroniczny lub asynchroniczny?
ja używamcurl
wysyłaćPOST
iGET
żądania i używam funkcji zwrotnych, aby uzyskać odpowiedzi od tych żądań. Tecallback
funkcje są statycznymi funkcjami składowymi, które z kolei wywołują nie statyczne funkcje składowe (nie można używać nie statycznych funkcji składowych wcurl
bezpośrednio tak więc to obejście).
Ponieważ te funkcje zwrotne nie mogą zwrócić wyniku, używam atrybutu w mojej klasie C ++ do przechowywania odpowiedzi. To wszystko działa dobrze, ale teraz moje pytanie. Robicurl_easy_perform()
blokuj, aż całe żądanie zostanie wysłane ORAZ odpowiedź zostanie przetworzona przez funkcję wywołania zwrotnego LUB czy mój program będzie kontynuowany pocurl_easy_perform()
i czy w jakiś sposób zostaje przerwane, gdy otrzyma odpowiedź z prośby?
Dla mnie ważne jest to, że chcę mieć pewność, że dane w moim atrybucie, które powinny zawierać odpowiedź, już tam są lub czy jest możliwe, że nadal istnieją stare dane w tym atrybucie, ponieważ funkcja wywołania zwrotnego nie została jeszcze wywołana.
Zdaję sobie sprawę, że moje wyjaśnienie nie jest zbyt jasne, więc jeśli nie rozumiesz, daj mi znać, a ja spróbuję to przeformułować.
Dzięki!