No sé si realmente quiso decir "concurrente", pero por la descripción creo que solo quiere reutilizar la conexión. Si simplemente perform
dos peticiones al mismo servidor, se debe reutilizar la conexión
persistant.c
/* get the first document */
curl_easy_setopt(curl, CURLOPT_URL, "http://example.com/");
res = curl_easy_perform(curl);
/* get another document from the same server using the same
connection */
curl_easy_setopt(curl, CURLOPT_URL, "http://example.com/docs/");
res = curl_easy_perform(curl);
Aquí son partes de la salida:
* About to connect() to example.com port 80 (#0)
* Trying 192.0.32.10... * connected
* Connected to example.com (192.0.32.10) port 80 (#0)
[...]
* HTTP/1.0 connection set to keep alive!
< Connection: Keep-Alive
Connection: Keep-Alive
[...]
* Connection #0 to host example.com left intact
* Re-using existing connection! (#0) with host example.com
* Connected to example.com (192.0.32.10) port 80 (#0)
EDITAR A la luz de los comentarios
En ese caso necesita la interfaz multi
. El interafce multi
dice:
habilitar varias transferencias simultáneas en el mismo hilo sin por lo que es complicado para la aplicación .
Para un ejemplo, véase multi-double.c
("Basta con descargar dos archivos HTTP!").
Eso no es lo que significa concurrente en informática. He editado el título de la pregunta para reflejar su pregunta real. –
@Robin Green Así que supongo que * sí * quería solicitudes simultáneas después de todo – cnicutar
Si está utilizando el protocolo HTTP 1.1, keep-alive es la configuración predeterminada a menos que haya "Conexión: cerrar" en el encabezado de solicitud o respuesta. –