【PHP8.x】STREAM_SERVER_LISTEN定数の使い方
STREAM_SERVER_LISTEN定数の使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
STREAM_SERVER_LISTEN定数は、PHPのネットワーク通信機能であるストリームサーバーにおいて、ソケットがクライアントからの接続を待機する、すなわち「リスン」状態であることを示すためのオプションを表す定数です。この定数は主に、ネットワーク上でサーバーアプリケーションを構築する際に使用されるstream_socket_server()関数などの引数に渡されます。
具体的には、stream_socket_server()関数でサーバーソケットを作成する際、flags引数にSTREAM_SERVER_LISTEN定数を指定することで、そのソケットが接続待ち状態として設定されることを明示します。これにより、作成されたソケットは指定されたアドレスとポートでクライアントからの接続要求を能動的に待ち受け、受け入れられる準備が整います。
PHP 8の環境下で、この定数はサーバーソケットの動作を正確に制御するために利用されます。ネットワークプログラミングにおいて、サーバーがクライアントからの接続を適切に待ち受けることはサービスの安定稼働に不可欠であり、STREAM_SERVER_LISTEN定数はそのようなソケットの基本的な役割を設定するための重要なフラグの一つです。他のストリームサーバー関連のオプション定数と組み合わせて使用することで、より詳細なサーバーソケットの挙動を定義することが可能になります。
構文(syntax)
1<?php 2$context = stream_context_create(); 3$socket = stream_socket_server("tcp://127.0.0.1:8000", $errno, $errstr, STREAM_SERVER_LISTEN, $context); 4if (!$socket) { 5 echo "$errstr ($errno)\n"; 6} else { 7 fclose($socket); 8} 9?>
引数(parameters)
引数なし
引数はありません
戻り値(return)
戻り値なし
戻り値はありません