現在、ソケットを使用して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ベースであり、それらのソケットの実装は異なる可能性があると感じています