如何让libcurl不在socket上监听只是发送一个url请求呢?

时间:2012-08-18 18:33:13

标签: sockets libcurl asyncsocket libevent

我有一个客户端自己管理套接字连接(实际上使用libevent的{​​{1}})。现在,我想使用bufferevent在该套接字上生成和发送HTML libcurl请求。通过使用GET选项提供已经打开的套接字libcurl,我完成了这部分。

但我现在的问题是OPENSOCKET_FUNCTIONlibevent正在侦听套接字,有时它是libcurl在有数据时回答套接字,有时它是{{1} }}

有没有办法告诉libcurl只生成并发送对网址的libevent请求,但是不要在套接字上监听,这样我就可以在libcurl写入网址后把手中的问题拿到手中套接字?

显然,我正在使用GET i接口用于非阻塞套接字,否则libcurl不会返回'直到它收到答案。

我不想让curl_mult监听器继续使用curl_easy_perform,因为它是一个多协议程序,我正在实现它的http部分。其他协议没有使用bufferevent的优点,因此我需要保留libcurl结构。

1 个答案:

答案 0 :(得分:0)

您可能正在寻找curl_multi_socket_action()功能。该函数与libevent一起使用的示例由hiperfifo.c源中的curl提供。