ソケットコンテキストオプション ソケットコンテキストオプション一覧 &reftitle.description; ここでは、ソケット越しに動作するラッパー すなわち tcphttp あるいは ftp でサポートされるオプションを扱います。 &reftitle.options; bindto PHP がネットワークにアクセスする際の IP アドレス (IPv4 あるいは IPv6 のどちらか)やポート番号を指定する際に使用されます。 書式は、IPv4 アドレスの場合は ip:port、 IPv6 アドレスの場合は [ip]:port です。 IP やポート番号に 0 を指定すると、それをシステムに自動的に設定させる ことができます。 FTP の通常の操作では 2 つのソケット接続を使用するので、 このオプションでポート番号を指定することができません。 backlog ソケットのリスンキューから出て行く接続の数を制限します。 stream_socket_server でのみ有効です。 ipv6_v6only IPv4射影アドレスに関する OS のデフォルトを上書きする これは、[::] に バインドされたアドレスが存在するときに、 IPv4 アドレス で listen しようとする場合に特に重要です。 上で、 stream_socket_server でのみ有効です。 so_reuseport 異なるプロセスからであっても、同じ IPアドレス:ポート のペアに 複数 bind することを許可します。 stream_socket_server でのみ有効です。 so_broadcast ブロードキャストアドレスへのデータの送信や、 ブロードキャストアドレスからのデータの受信を有効にします。 stream_socket_server でのみ有効です。 tcp_nodelay このオプションを &true; にすると、 SOL_TCP,NO_DELAY=1 をそれぞれ設定します。 これによって、TCP の Nagle アルゴリズムを無効にします。 &reftitle.changelog; &Version; &Description; 7.1.0 tcp_nodelay が追加されました。 7.0.1 ipv6_v6only が追加されました。 &reftitle.examples; 基本的な <parameter>bindto</parameter> の使用例 array( 'bindto' => '192.168.0.100:0', ), ); // IP アドレス '192.168.0.100' とポート番号 '7000' でインターネットに接続する $opts = array( 'socket' => array( 'bindto' => '192.168.0.100:7000', ), ); // IPv6 アドレス '2001:db8::1' とポート番号 '7000' でインターネットに接続する $opts = array( 'socket' => array( 'bindto' => '[2001:db8::1]:7000', ), ); // ポート番号 '7000' でインターネットに接続する $opts = array( 'socket' => array( 'bindto' => '0:7000', ), ); // コンテキストを作成し… $context = stream_context_create($opts); // …そしてデータを取得するためにそれを使用する echo file_get_contents('http://www.example.com', false, $context); ?> ]]>