stream_set_blocking

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

stream_set_blockingストリームのブロックモードを有効にする / 解除する

説明

stream_set_blocking ( resource $stream , bool $mode ) : bool

stream のモードをブロックあるいは非ブロックに設定します。

この関数は、非ブロックモードをサポートするすべてのストリーム (現在は、通常のファイルストリームとソケットストリームのみ) において利用可能です。

パラメータ

stream

ストリーム。

mode

modeFALSE の時、ストリームは 非ブロックモードに切り替えられ、TRUE の場合は、 ブロックモードに切り替えられます。このモードの違いは、 fgets()fread() といった、ストリームからデータを読む関数に影響します。 非ブロックモードにおいては fgets() を呼び出すと どんな場合でもただちに呼び出し元に戻りますが、ブロックモードの場合では、 ストリームがデータを読み出せる状態になるまで待ちつづけます。

返り値

成功した場合に TRUE を、失敗した場合に FALSE を返します。

注意

注意:

この関数は以前は set_socket_blocking() という名前で後に socket_set_blocking() に変わりましたが、 この使用法は廃止されました。

注意:

Windowsでは、これはローカルファイルには影響しません。 ローカルファイルのノンブロッキングI/Oは、Windowsではサポートされていません。

参考

  • stream_select() - select() システムコールと同等の操作を、 ストリームの配列に対して tv_sec と tv_usec で指定されたタイムアウト時間をもって行う