我使用libcurl作为一个线程中的应用程序,需要在每个可配置的分钟数内发送相同的URL请求,所以我的线程中有一个看起来非常像这样的循环:
curl_global_init(CURL_GLOBAL_ALL);
curl = curl_easy_init();
while(!mStopRun)
{
try
{
curl_easy_setopt(....);
curl_easy_setopt(....);
curl_easy_perform(....);
sleep(configurable_period)
}
}
curl_easy_cleanup(mEasyHandle);
curl_global_cleanup();
由于某些未知原因,我看到有些线路上的TCP问题一直存在。显然TCP连接未正确关闭:
在每次迭代时使用一个新手柄解决了这个问题,但这真的是最好的做法吗?我有没有办法重复使用相同的连接并继续以相同的频率发送? (可能在客户端或服务器端配置一些东西)。