現在の位置: ホーム> 関数カテゴリ一覧> stream_set_blocking

stream_set_blocking

リソースフローのためにブロッキングまたはブロッキングモードを設定します
名前:stream_set_blocking
カテゴリ:ストリーム
対応言語:php
一言説明:特定のストリームのブロッキングモードまたは非ブロッキングモードを設定します

関数名:stream_set_blocking()

適用バージョン:PHP 4> = 4.3.0、PHP 5、PHP 7

使用法:stream_set_blocking(resource $ stream、bool $ mode):bool

関数の説明:Stream_set_blocking()関数は、特定のストリームのブロッキングまたは非ブロッキングモードを設定するために使用されます。

パラメーター:

  • $ストリーム:モードを設定するストリームリソース。
  • $モード:ストリームのモードを指定します。 $モードがtrueの場合、ストリームはブロッキングモードに設定されます。 $モードの場合、ストリームは非ブロッキングモードに設定されます。

返品値:成功の真のリターン、および失敗にfalseを返します。

例:

 // 创建一个网络套接字流$socket = stream_socket_client('tcp://www.example.com:80', $errno, $errstr, 30); // 将套接字流设置为非阻塞模式if (!stream_set_blocking($socket, false)) { die('无法设置套接字流为非阻塞模式'); } // 发送HTTP请求fwrite($socket, "GET / HTTP/1.1\r\nHost: www.example.com\r\nConnection: Close\r\n\r\n"); // 读取响应$response = ''; while (!feof($socket)) { $response .= fread($socket, 8192); } // 关闭套接字流fclose($socket); echo $response;

上記の例では、最初にネットワークソケットストリームを作成し、次にStream_set_blocking()関数を使用して、ソケットストリームを非ブロッキングモードに設定します。次に、HTTPリクエストを送信して、応答を読み取ります。最後に、ソケットストリームを閉じて、応答コンテンツを出力します。

ソケットストリームを非ブロッキングモードに設定することにより、サーバーからの応答を待つことなく、応答を待つ間、他の操作を実行し続けることができます。これは、多数の同時リクエストや複数のタスクを同時に処理する必要がある場合に非常に便利です。

類似の関数
人気記事(にんききじ)