socket_getsockname
指定したソケットのローカル側に問い合わせ、その型に応じてホスト/ポート、あるいは Unix ファイルシステムのパスを返す
説明
bool socket_getsockname(Socket $socket, string &$address, int &$port = null)
注意:
socket_getsockname は、
socket_accept で作成した AF_UNIX
ソケットとともに使用することはできません。意味のある値が返されるのは、
socket_accept で作成したソケットか
socket_bind に続くプライマリサーバーソケットのみです。
パラメータ
-
socket
-
socket_create あるいは socket_accept
で作成した Socket クラスのインスタンス。
-
address
-
指定されたソケットの型が AF_INET あるいは
AF_INET6 であった場合、socket_getsockname
はローカルの IP アドレス を適切な書式(例:
127.0.0.1 あるいは fe80::1)に
したものを address パラメータに、そしてもし
オプションの port パラメータが指定されていれば
そこにポートを格納します。
指定されたソケットの型が AF_UNIX であった場合、
socket_getpeername は Unix ファイルシステムのパス
(例: /var/run/daemon.sock)を
address パラメータに格納します。
-
port
-
指定した場合は、関連付けるポートを保持します。
戻り値
成功した場合に true を、失敗した場合に false を返します。 socket_getsockname は、
ソケットの型が AF_INET、
AF_INET6 あるいは AF_UNIX
のいずれでもない場合にも false を返します。この場合には、
直近のソケットエラーコードは更新されません。
参考
- socket_getpeername
- socket_last_error
- socket_strerror