# socket_getpeername

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

socket_getpeername — Queries the remote side of the given socket which may either result in host/port or in a Unix filesystem path, dependent on its type

### 说明

socket_getpeername ( resource `$socket` , string `&$address` [, int `&$port` ] ) : bool

Queries the remote side of the given socket which may either result in host/port or in a Unix filesystem path, dependent on its type.

### 参数

`socket`

  A valid socket resource created with socket_create() or socket_accept().

`address`

  If the given socket is of type `AF_INET` or `AF_INET6`, socket_getpeername() will return the peers (remote) IP address in appropriate notation (e.g. 127.0.0.1 or fe80::1) in the `address` parameter and, if the optional `port` parameter is present, also the associated port.

  If the given socket is of type `AF_UNIX`, socket_getpeername() will return the Unix filesystem path (e.g. /var/run/daemon.sock) in the `address` parameter.

`port`

  If given, this will hold the port associated to `address`.

### 返回值

成功时返回 `TRUE`， 或者在失败时返回 `FALSE`。 socket_getpeername() may also return `FALSE` if the socket type is not any of `AF_INET`, `AF_INET6`, or `AF_UNIX`, in which case the last socket error code is not updated.

### 注释

> Note:

> socket_getpeername() should not be used with `AF_UNIX` sockets created with socket_accept(). Only sockets created with socket_connect() or a primary server socket following a call to socket_bind() will return meaningful values.

> Note:

> For having socket_getpeername() to return a meaningful value, the socket it is applied upon must of course be one for which the concept of "peer" makes sense.

### 参见

- socket_getsockname() - Queries the local side of the given socket which may either result in host/port or in a Unix filesystem path, dependent on its type
- socket_last_error() - Returns the last error on the socket
- socket_strerror() - Return a string describing a socket error