PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHPソケットコンテキストオプション


はじめに

ファイルシステムやその他のさまざまなストリームラッパーへのアクセスは、 stream_context_create()によって構成されたさまざまなコンテキストオプションとパラメーターによってカスタマイズできます。 およびstream_context_set_option() 関数。

次のリストは、さまざまなソケットコンテキストオプションを示しています。 tcp、http、ftpなどのソケットで機能するすべてのラッパーで使用できます。

bindto は、ネットワークへのアクセスに使用されるIPアドレス(IPv4またはIPv6)および/またはポート番号を指定します。 (IPv4の場合はip:port [ip]:IPv6の場合はport)。
バックログ ソケットのリッスンキュー内の未処理の接続の数を制限します。
ipv6_v6only IPv4からIPv6へのマッピングに関するOSのデフォルトを上書きします。
so_reuseport 同じip:portペアへの複数のバインディングを許可します。
so_broadcast ブロードキャストアドレスとの間でデータを送受信できるようにします。
tcp_nodelay TRUEの場合、 SOL_TCP、NO_DELAY =1を設定します 適切に、TCPNagleアルゴリズムを無効にします。

<?php
// connect to the internet using the '192.168.0.100' IP
$opts = array(
   'socket' => array(
      'bindto' => '192.168.0.100:0',
   ),
);
// ...and use it to fetch the data
echo file_get_contents('https://www.example.com', false, $context);
?>
をフェッチします
  1. 修正:ソケットエラー:10060、0x800CCC0E

    ソケットエラー10060 通常、宛先サーバーに接続しようとしているものがすべてタイムアウトしたことを示します。このエラーは通常、メールクライアントで発生するか、ウェブサイトにアクセスしようとしたときに発生します。現在、さまざまな理由でタイムアウトになる可能性がありますが、電子メールクライアントの場合、通常はポートと設定であり、Webサイトの場合、1つではなく他のWebサイトにアクセスできる場合、またはWebサイトがダウンしている可能性があります。あなたをブロックした可能性があります。 このガイドでは、「 Outlook&WindowsLiveメール」などの電子メールクライアントに関連するこの

  2. Pythonソケットエラー48を修正

    ソケットエラー48は、プロセスがすでに使用されているポートに自分自身をバインドしようとしたときにトリガーされるPythonエラーです。 「socket.error:[Errno48]アドレスはすでに使用されています」エラーの原因は何ですか? 簡単な調査の結果、原因は次のとおりであることがわかりました。 ポートにバインドされたプロセス: サーバー上にプロセスが作成されるたびに、インターネットとの通信にポートが使用されます。ポートは、一度に1人のゲストを楽しませることができるホストのようなものです。ただし、ポートを指定しない場合、サーバーはデフォルトのポートでポートを作成するだけです。次回