socket_get_option

(PHP 4 >= 4.3.0, PHP 5)

socket_get_option -- ソケットのオプションを取得する

説明

mixed socket_get_option ( resource socket, int level, int optname )

socket_get_option() 関数は、ソケット socket のオプション optname の値を取得します。socket_get_option() は、失敗した場合に FALSE を返します。

level パラメータは、オプションのプロトコルレベルを 指定します。例えば、オプションをソケットレベルで取得するには level パラメータに SOL_SOCKET を指定します。 TCP のようなそれ以外のレベルの場合、そのレベルのプロトコル番号を 指定します。プロトコル番号は getprotobyname() 関数を使用して取得可能です。

表 1. 使用可能なソケットオプション

オプション説明
SO_DEBUG デバッグ情報を記録するかどうかを報告します。
SO_ACCEPTCONN ソケットの listen が有効かどうかを報告します。
SO_BROADCAST ブロードキャストメッセージの送信がサポートされているかどうかを報告します。
SO_REUSEADDR ローカルアドレスが再使用可能するかどうかを報告します。
SO_KEEPALIVE 定期的なメッセージの送信によって接続がアクティブになっているかどうかを 報告します。もしソケットがこれらのメッセージに応答できなかった場合、 接続は崩壊し、ソケットへの書き込みを行うと SIGPIPE シグナルを 受け取ります。
SO_LINGER データが存在する際に、socket_close() の後で socket が残り続けるかどうかを報告します。
SO_OOBINLINE socket が帯域外のデータをインラインに 残し続けるかを報告します。
SO_SNDBUF 送信バッファサイズの情報を報告します。
SO_RCVBUF 受信バッファサイズの情報を報告します。
SO_ERROR エラーステータスに関する情報を報告し、それをクリアします。
SO_TYPE socket の型を報告します。
SO_DONTROUTE 送信メッセージがルータを越えるかどうかを報告します。
SO_RCVLOWAT socket の入力操作を行う際の最小バイト数 (デフォルトは 1)を報告します。
SO_RCVTIMEO 入力操作のタイムアウト値を報告します。
SO_SNDLOWAT socket の出力操作を行う際の最小バイト数 を報告します。
SO_SNDTIMEO 出力関数がフロー制御のためにブロックするタイムアウト値を報告します。

注意: この関数は、PHP 4.3.0 より前のバージョンでは socket_getopt() と呼ばれていました。