socket_set_block
(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() は、
接続が受け付けられるまで処理を停止して待ち続けます。
+add a note
User Contributed Notes 1 note
laacz at laacz dot lv ¶
10 years ago
Besides true and false socket_set_block might return NULL if you're not too careful. That would happen when passing non socket resource as first parameter.
E.g. socket_set_block(false)) would return NULL and emit warning that you're trying to do things with non-socket.
↑ and ↓ to navigate •
Enter to select •
Esc to close
Press Enter without
selection to search using Google