Libcurl curl\u easy\u perform()在启动连接之前长时间处于空闲状态

Libcurl curl\u easy\u perform()在启动连接之前长时间处于空闲状态,libcurl,Libcurl,我在我的Ubuntu12.04 LTS盒上使用libcurl4 openssl开发库,作为虚拟机托管。我正在对一个特定的URL发出一个简单的POST请求,并观察到它与WinInet相比太慢了 在使用wireshark traffic analyzer分析该场景后,我发现与服务器的实际连接是在相当长的空闲时间之后建立的,这是总时间的最大贡献。我的代码如下: curl_global_init(CURL_GLOBAL_ALL); this->m_curl = curl_easy_init();

我在我的Ubuntu12.04 LTS盒上使用libcurl4 openssl开发库,作为虚拟机托管。我正在对一个特定的URL发出一个简单的POST请求,并观察到它与WinInet相比太慢了

在使用wireshark traffic analyzer分析该场景后,我发现与服务器的实际连接是在相当长的空闲时间之后建立的,这是总时间的最大贡献。我的代码如下:

curl_global_init(CURL_GLOBAL_ALL);
this->m_curl = curl_easy_init();
curl_easy_setopt(m_curl, CURLOPT_TIMEOUT, 40);
.....
curl_easy_setopt(m_curl, CURLOPT_URL, cptrInputUrl);//URL
curl_easy_setopt(m_curl, CURLOPT_POST, 1);//POST
curl_easy_setopt(m_curl, CURLOPT_POSTFIELDS, cptrPostInput);//POST FIELDS
curl_easy_setopt(m_curl, CURLOPT_WRITEFUNCTION, &writeCallback);//WRITE DATA TO
curl_easy_setopt(m_curl,CURLOPT_TCP_NODELAY, 1);

WriteLog("Downloading..");
res = curl_easy_perform(m_curl);//CARRY OUT OPERATION
WriteLog("Completed download..");
WriteLog函数在当前时间前加上日志前缀。我看到系统在启动与给定服务器的连接之前至少保持空闲5-10秒


我想知道我是否遗漏了一些卷曲选项。请提供帮助。

将CURLOPT_VERBOSE添加到混音中,看看它在做什么。我猜是因为名字解析缓慢或类似的原因。谢谢回复。我添加了CURLOPT_VERBOSE,日志只有在空闲时间后才会显示。你有没有找到解决方法?