zoukankan      html  css  js  c++  java
  • [译]curl_multi_add_handle

    NAME
    curl_multi_add_handle - add an easy handle to a multi session
    添加easy handle到multi session中

    SYNOPSIS
    #include <curl/curl.h>
    CURLMcode curl_multi_add_handle(CURLM *multi_handle, CURL *easy_handle);


    DESCRIPTION
    Adds a standard easy handle to the multi stack. This function call will make this multi_handle control the specified easy_handle.
    添加一个标准的easy handle到Multi stack中。

    While an easy handle is added to a multi stack, you can not and you must not use curl_easy_perform on that handle. After having removed the easy handle from the multi stack again, it is perfectly fine to use it with the easy interface again.
    当一个easy handle被添加到multi stack中,你不能再对这个easy handle使用curl_esay_perform。
    当这个easy handle被从multi stack中移除,又可以再次对这个easy handle使用esay_curl接口了。

    If the easy handle is not set to use a shared (CURLOPT_SHARE) or global DNS cache (CURLOPT_DNS_USE_GLOBAL_CACHE), it will be made to use the DNS cache that is shared between all easy handles within the multi handle when curl_multi_add_handle is called.
    当调用curl_multi_add_handle时,如果easy handle没有设置使用shared (CURLOPT_SHARE),或者全局DNS缓存(CURLOPT_DNS_USE_GLOBAL_CACHE),
    则会使用multi handle中的share的dns缓存。
    ------------------------------------------------------------------------------------------------------------------------------

    When an easy interface is added to a multi handle, it will use a shared connection cache owned by the multi handle. Removing and adding new easy handles will not affect the pool of connections or the ability to do connection re-use.
    当一个新的easy handle被加入到multi handle中,他会使用一个multi handle缓存的shared连接。
    移除和添加easy handle不会影响连接池或者连接复用。

    If you have CURLMOPT_TIMERFUNCTION set in the multi handle (and you really should if you're working event-based with curl_multi_socket_action and friends), that callback will be called from within this function to ask for an updated timer so that your main event loop will get the activity on this handle to get started.
    如果multi handle设置了CURLMOPT_TIMERFUNCTION(如果你使用curl_multi_socket_action,应该设置),
    回调函数会被触发

    The easy handle will remain added to the multi handle until you remove it again with curl_multi_remove_handle - even when a transfer with that specific easy handle is completed.

    You should remove the easy handle from the multi stack before you terminate first the easy handle and then the multi handle:

    1 - curl_multi_remove_handle

    2 - curl_easy_cleanup

    3 - curl_multi_cleanup

    RETURN VALUE

    CURLMcode type, general libcurl multi interface error code.

  • 相关阅读:
    演练:创建和使用托管程序集 (C++)
    QT中各种MessageBox的使用
    QT使用打印机
    常用数据结构算法 c++模板实现
    创建可重用代码(C++)
    演练:创建和使用动态链接库 (C++)
    一些面试题,整理自网络,就不一一帖原址了
    《实践与思考》系列连载(4)——众说纷纭“架构师”
    XML Web Service并发异步调用的问题及其解决方案
    《实践与思考》书籍连载系列反馈区
  • 原文地址:https://www.cnblogs.com/solohac/p/4311289.html
Copyright © 2011-2022 走看看