Sto usando curl
per inviare POST
e GET
richieste e utilizzo le funzioni di callback per ottenere le risposte da queste richieste. Queste funzioni callback
sono funzioni membro statiche che a loro volta chiamano funzioni membro non statiche (non è possibile utilizzare le funzioni membro non statiche in curl
direttamente per questa soluzione alternativa).È curl_easy_perform() sincrono o asincrono?
Poiché queste funzioni di callback non possono restituire un risultato, utilizzo un attributo nella classe C++ per archiviare la risposta. Tutto funziona bene ma ora la mia domanda. Il blocco curl_easy_perform()
finché non viene inviata l'intera richiesta E la risposta viene elaborata dalla funzione di richiamata O il mio programma continua dopo curl_easy_perform()
e si interrompe in qualche modo quando viene ricevuta la risposta dalla richiesta?
L'importanza per me è che voglio essere sicuro che i dati nel mio attributo che dovrebbero contenere la risposta siano già lì o è possibile che ci siano ancora vecchi dati in questo attributo perché la funzione di callback non ha stato ancora chiamato.
Mi rendo conto che la mia spiegazione non è molto chiara, quindi se non capisci, per favore fammelo sapere e proverò a riformularlo.
Grazie!
Un callback verrà chiamata all'interno della funzione si passa a. –
Quindi vuoi dire che uso improprio la funzione di callback parola? Dico solo a Curl che quando i dati arrivano ha bisogno di passare questi dati a una determinata funzione. Pensavo che fosse anche una funzione di callback. Ma si passa la funzione di callback per arricciarsi in curl_easy_setopt(). Tutte le opzioni per la richiesta vengono impostate prima di curl_easy_perform(). Voglio solo sapere se blocchi curl_easy_perform() fino a quando la richiesta non viene trattata. – Silver