libcurl opóźnia się o 1 sekundę przed przesłaniem danych, nie powoduje zwinięcia wiersza poleceń

Używam libcurl do wysłania polecenia API do usługi lokalnej (tj. Na 127.0.0.1).

Program ma zastąpić skrypt powłoki (który używacurl program.)

Wszystko działa, z wyjątkiem tego, że gdzieś jest 1-sekundowe opóźnienie, tj. 1 sekunda upływa od chwili, gdy zadzwonięcurl_easy_perform() do kiedy moja funkcja wywołania zwrotnego po raz pierwszy zostanie wywołana.

Program C używa tych opcji (pominięto sprawdzanie błędów i kod zwrotny):

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);

Ale jeśli ucieknęcurl z powłoki takiej jak ta:

$ curl --data-binary '<command>' http://127.0.0.1:12345/x

wysyła żądanie natychmiast, bez cierpienia z powodu 1-sekundowego opóźnienia.

Co może powodować opóźnienie i czy istnieje opcja, którą mogę ustawić, aby temu zapobiec?

Edytować Serwer jest oparty namangusta

questionAnswers(1)

yourAnswerToTheQuestion