J'utilise libcurl
pour créer une connexion http à un serveur. Pendant l'initialisation, j'ai spécifié une valeur de délai d'inactivité de 5 secondes et également spécifié comme fonction de rappel de progression. Je m'attendais à ce que cURL abandonne la connexion après 5 secondes d'inactivité et arrête d'appeler le rappel de progression, mais j'ai trouvé que le curl s'éteint après environ 15 secondes. Pourquoi Curl prend plus de temps pour timeout que moi ce que j'ai spécifié? Le réglage du délai d'expiration à une valeur plus élevée n'aide pas. Si je spécifie 100 secondes, le délai d'attente est de 105 secondes d'inactivité.cURL: intervalle d'inactivité supérieur à la valeur spécifiée
code = s_curl_easy_setopt(m_curl_handle, CURLOPT_NOPROGRESS, 0);
assert(code == CURLE_OK);
code = s_curl_easy_setopt(m_curl_handle, CURLOPT_PROGRESSFUNCTION, progress_callback);
assert(code == CURLE_OK);
EDIT: Le code de délai d'attente
//this will set the timeout for quitting in case the network goes down
code = s_curl_easy_setopt(m_curl_handle, CURLOPT_LOW_SPEED_LIMIT, 1);
code = s_curl_easy_setopt(m_curl_handle, CURLOPT_LOW_SPEED_TIME, m_idle_timeout);
Question modifiée pour ajouter le code de délai. – 341008