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