指定したソケットのリモート側に問い合わせる

# socket_getpeername

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

socket_getpeername — 指定したソケットのリモート側に問い合わせる

### 説明

function socket_getpeername(Socket `$socket`, string `&$address`, int `&$port` = `null`): bool

指定したソケットのリモート側に問い合わせ、 その型に応じてホスト/ポート、あるいは Unix ファイルシステムのパスを返します。

### パラメータ

`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` を返します。この場合には、 直近のソケットエラーコードは更新されません。

### 変更履歴

バージョン | 説明
--- | ---
8.0.0 | `socket` は、Socket クラスのインスタンスになりました。 これより前のバージョンでは、リソース型でした。

### 注意

> 注意:

> socket_getpeername() は、 socket_accept() で作成した `AF_UNIX` ソケットとともに使用することはできません。意味のある値が返されるのは、 socket_connect() で作成したソケットか socket_bind() に続くプライマリサーバーソケットのみです。

> 注意:

> socket_getpeername() に何らかの意味のある値を返させるには、 もちろんソケット自体が "peer" の概念を満たしている必要があります。

### 参考

- socket_getsockname() - 指定したソケットのローカル側に問い合わせ、その型に応じてホスト/ポート、あるいは Unix ファイルシステムのパスを返す
- socket_last_error() - ソケットの直近のエラーを返す
- socket_strerror() - ソケットエラーの内容を文字列として返す

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open