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() と呼ばれていました。