卷曲超时后服务器响应

时间:2020-07-01 12:39:10

标签: php libcurl php-curl

与远程服务器的卷曲连接有时会超时,但是当我执行tcpdump时,它表明即使curl请求已超时,服务器实际上仍在响应。这是TCP行为吗?下面是一个示例服务器端php代码,用于模拟行为,文件名为test.php,并通过PHP-FPM部署在Nginx上。

<?php
sleep(10);
echo "Hello World";

下面是一个5秒超时的卷曲请求。

curl -m 5'http:// server_ip:port / test.php'

下面是一个示例客户端脚本,可以代替上面的

<?php
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'http://server_ip:port/test.php');
curl_setopt($curl, CURLOPT_TIMEOUT, 5);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($curl);

if (curl_errno($curl) > 0)
{
    echo curl_error($curl), curl_errno($curl), PHP_EOL;
}
else 
{
    echo $response, PHP_EOL;
}

curl_close($curl);

tcpdump -w timeout_1.pcap -s0 -v -tttt -i eth0主机

tcpdump已在客户端计算机上获取。

0 个答案:

没有答案