为什么在两个循环中使用curlmult_exec


why curl_multi_exec in two loops

我看到了一段示例代码,我想知道为什么要使用两个do while循环?这两个循环之间有什么区别?在线等待回复,谢谢~~

do {
    $mrc = curl_multi_exec($mh, $active);
} while ($mrc == CURLM_CALL_MULTI_PERFORM);
while ($active && $mrc == CURLM_OK) {
    if (curl_multi_select($mh) != -1) {
        do {
            $mrc = curl_multi_exec($mh, $active);
        } while ($mrc == CURLM_CALL_MULTI_PERFORM);
    }
}

如前所述,第一个循环用于初始化HTTP客户端。通常它只执行一次。然后在第二个循环中发送HTTP请求并获取响应。

如果你想让你的脚本在等待HTTP请求处理的时候做一些事情,这不是很方便(你可以把你想做的一些事情放在一个单独的页面上,并将其称为curl资源,但这有点混乱)。

有关更多详细信息和替代结构,请参阅此页。