我们目前正在使用套接字打开和写入 http 连接,我们不一定关心响应的请求!像跟踪ping等
这适用于我们的旧服务器和我们的 Windows 开发环境,但不适用于我们的新 ubuntu 服务器。
我们使用的代码如下
$aUrlParts = parse_url($sUrl);
$fp = fsockopen(
$aUrlParts['host'],
isset($aUrlParts['port']) ? $aUrlParts['port'] : 80,
$errno, $errstr, 30
);
$sHeader = "GET {$aUrlParts['path']}?{$aUrlParts["query"]} HTTP/1.1\r\n";
$sHeader.= "Host: {$aUrlParts['host']}\r\n";
$sHeader.= "Connection: Close\r\n\r\n";
fwrite($fp, $sHeader);
fclose($fp);
如果我在 fwrite 之后进行读取,我可以从服务器上获取所有内容,但这与仅卷曲 URL 相比,以这种方式执行请求的意义不大
我已经尝试刷新套接字并将其设置为非阻塞但不起作用!只是做一个阅读后是唯一有效的!
任何帮助表示赞赏
编辑:我会提到这些新服务器是基于 AWS 的,我感觉它们上的套接字实现可能会有所不同