小编use*_*306的帖子

如何使用 HTTP Pipelining 通过单个 TCP 套接字发送 PHP cURL 句柄?

我正在尝试使用 PHP cURL HTTP Pipelining 功能通过单个 TCP 连接执行多个请求。参阅此页面http://www.php.net/manual/en/function.curl-multi-setopt.php我通过添加以下内容为 curl_multi_exec() 启用流水线:

curl_multi_setopt($mh, CURLMOPT_PIPELINING, 1);

我不想在此处发布大量源代码列表,但您可以在此处从我的 github 轻松查看或检出完整示例https://github.com/anovikov1984/pipelining-example

为了监控 TCP 连接,我在另一个控制台会话中使用了“netstat -t -u -c”命令。

在我上面提到的 repo 中,有两个脚本。一种用于 Ruby,一种用于 PHP。Ruby 版本可以正常工作,并且只为 3 个 GET 请求打开单个 TCP 连接。但是 PHP cURL 版本打开的 TCP 连接与传递给 curl_multi_exec() 函数的 cURL 句柄的数量一样多。

我究竟做错了什么?

php curl http-pipelining

5
推荐指数
1
解决办法
1254
查看次数

标签 统计

curl ×1

http-pipelining ×1

php ×1