array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ja', ), 'this' => array ( 0 => 'function.socket-set-block.php', 1 => 'socket_set_block', ), 'up' => array ( 0 => 'ref.sockets.php', 1 => 'ソケット 関数', ), 'prev' => array ( 0 => 'function.socket-sendto.php', 1 => 'socket_sendto', ), 'next' => array ( 0 => 'function.socket-set-nonblock.php', 1 => 'socket_set_nonblock', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ja', 'path' => 'reference/sockets/functions/socket-set-block.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)
socket_set_block — ソケットのブロッキングモードを設定する
socket_set_block() 関数は、
socket
パラメータで指定したソケットから
O_NONBLOCK
フラグを取り除きます。
受信や送信、接続、待機といった操作をブロックモードのソケットに対して行うと、 その処理が完了するか何らかのシグナルを受信するまではスクリプトを停止します。
バージョン | 説明 |
---|---|
8.0.0 |
socket は、Socket クラスのインスタンスになりました。
これより前のバージョンでは、リソース型でした。
|
例1 socket_set_block() の例
<?php
$socket = socket_create_listen(1223);
socket_set_block($socket);
socket_accept($socket);
?>
この例は、すべてのインターフェイス上でポート 1223
を待ち受けるソケットを作成し、それを O_BLOCK
モードに設定します。
socket_accept() は、
接続が受け付けられるまで処理を停止して待ち続けます。