PROBLEMA Multiple richieste get con lib curl C

Pubblicità

federikowsky

Nuovo Utente
Messaggi
7
Reazioni
0
Punteggio
21
vorrei fare un client C che fa chiamate API asincrone con lib curl e salvare le risposte, le chiamate sono circa un centinaio contemporaneamente. sono 4 giorni che cerco tutorial su internet e esempi per curl_multi_* e curl_multi_socket con epoll (uso linux) ma non sembra esistano o a quanto pare sembro l'unico interessato a fare una cosa del genere in C. Ho guardato anche gli esempi della documentazione ufficiale, ma usa al massimo 2 connessioni in contemporanea e per fare ciò dichiara due variabili e chiama curl_easy_init(), pero, il problema è che le richieste che fa il programma non sono un numero preciso quindi non posso dichiarare a priori un numero di variabili (anche se fosse non è fattibile dichiarare 100 variabili). Invece questo esempio di curl_multi_socket con epoll per me essendo alle prime armi è difficile da capire e da replicare per il mio caso senza una spiegazione su come funziona. C'è qualcuno che può farmi un esempio di codice su come usare curl_multi_* per più connessioni simultanee per avere una base su cui partire? sarebbe molto apprezzato.
 
1) Non usare curl_multi_socket (è deprecato) come è scritto qui
2) Usa (al massimo) curl_multi_socket_action (ci sono alcuni esempi qui)
3) Non ho capito di preciso cosa devi fare. Perché fare tutte ste chiamate?

Se hai molti dati da inviare, in genere le tecniche di implementazione client-server prevedono che il programma client organizzi i dati da inviare in strutture (struct, array, ecc...) in formato JSON e poi si fa una chiamata inviando i suddetti dati e usando la relativa funzione (inserendo gli header che servono al server per validare, accettare e processare la chiamata).
Se vuoi usare curl per scaricare video in streaming (che adesso sono "spezzettati" in vari file .TS, e quindi richiedono il merging in un unico MP4 dopo il download, magari con ffmpeg), puoi provare ad integrare tool già esistenti (come youtube-dl, ad esempio) senza dover creare un programma daccapo.

La documentazione di curl è sterminata. Che devi fare di preciso?
 
non vedo problemi a fare 100 richieste contemporanee (contemporanee si fa per dire) in C. Pero ti serve potenza di calcolo e banda di rete.
Spiegaci cosa devi fare di preciso.
 
Pubblicità
Pubblicità
Indietro
Top