現在の位置: ホーム> 最新記事一覧> Stream_socket_client()を使用し、Stream_context_get_options()を組み合わせてソケット構成を取得します

Stream_socket_client()を使用し、Stream_context_get_options()を組み合わせてソケット構成を取得します

M66 2025-05-28

PHPでは、 Stream_Socket_Client()関数を使用して、ネットワーク接続またはUNIXドメインソケット接続を開きます。タイムアウト設定、暗号化、プロキシなどの多くのオプションをサポートします。これらのオプションは、 stream_context_create()によって作成され、 stream_socket_client()にコンテキストとして渡されます。

この記事では、stream_socket_client()関数を使用する方法を紹介し、 stream_context_get_options()を組み合わせてソケット構成を取得および表示します。

ステップ1:ソケットコンテキストを作成します

まず、 stream_socket_client()のコンテキストを作成する必要があります。コンテキストとは、ネットワーク接続の動作を制御する複数の構成オプションを含む構造です。たとえば、接続のタイムアウト時間を設定したり、SSL暗号化を有効にしたりできます。

 // ストリームコンテキストを作成します
$options = [
    'http' => [
        'method' => 'GET',
        'header' => "User-Agent: PHP\r\n",
    ],
    'ssl' => [
        'verify_peer' => false,  // ピア証明書を確認していません
        'verify_peer_name' => false,  // ピア証明書を確認していません名称
    ]
];
$context = stream_context_create($options);

上記のコードでは、HTTP構成とSSL構成を作成します。これにより、接続がピア証明書を確認しないようにします。

ステップ2: stream_socket_client()を介して接続を開きます

次に、 Stream_Socket_Client()を使用してTCP接続を開きます。接続するとき、パラメーターとしてコンテキストを渡します。

 // コンテキストで開きます TCP 接続する
$fp = stream_socket_client("tcp://m66.net:80", $errno, $errstr, 30, STREAM_CLIENT_CONNECT, $context);

if (!$fp) {
    echo "接続する失败: $errno - $errstr\n";
    exit;
}

このコードでは、 M66.netのポート80に接続します。接続が成功した後、 $ FPを介してデータを読み書きできます。

ステップ3: stream_context_get_options()を使用して構成を表示します

接続が確立されたら、 stream_context_get_options()関数を使用して、適用された構成オプションを表示できます。この関数は、すべての構成オプションを含む配列を返します。

 // 現在のストリームの構成オプションを取得して表示します
$options = stream_context_get_options($context);
echo '<pre>';
print_r($options);
echo '</pre>';

上記のコードは、現在のストリームの構成オプションを印刷します。たとえば、HTTPおよびSSL構成をセットアップすると、出力は次のようになります。

 Array
(
    [http] => Array
        (
            [method] => GET
            [header] => User-Agent: PHP
        )
    [ssl] => Array
        (
            [verify_peer] => 
            [verify_peer_name] => 
        )
)

要約します

Stream_socket_client()stream_context_get_options()を組み合わせることにより、ソケット構成を簡単に表示およびデバッグできます。接続タイムアウト、暗号化オプション、またはその他のカスタム構成アイテムを設定しているかどうかにかかわらず、 stream_context_get_options()は、適用された構成を表示するのに役立ちます。

この記事が、PHPでストリーミングコンテキストを使用し、関連する構成を取得する方法をよりよく理解するのに役立つことを願っています。