libcurl откладывает на 1 секунду перед загрузкой данных, curl командной строки не
Я использую libcurl для отправки команды API на локальный сервис (т.е. на 127.0.0.1).
Программа предназначена для замены сценария оболочки (который используетcurl
программа).
Все работает, за исключением того, что где-то есть 1-секундная задержка, т.е. 1 секунда истекает с момента, когда я звонюcurl_easy_perform()
когда моя функция обратного вызова read впервые вызывается.
Программа C использует эти параметры (проверка ошибок и код обратного вызова пропущен):
curl_easy_setopt(curl, CURLOPT_URL, "http://127.0.0.1:12345/x");
curl_easy_setopt(curl, CURLOPT_UPLOAD, 1);
curl_easy_setopt(curl, CURLOPT_INFILESIZE, (long)getLengthOfCommandObject());
curl_easy_setopt(curl, CURLOPT_READFUNCTION, &myReadFunction);
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, &myWriteFunction);
Но если я бегуcurl
из скорлупы вот так:
$ curl --data-binary '' http://127.0.0.1:12345/x
он отправляет запрос немедленно, без задержки в 1 секунду.
Что может быть причиной задержки, и есть ли опция, которую я могу установить, чтобы предотвратить ее?
редактировать Сервер основан намангуста