# 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

### Description

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.

### Parameters

`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`.

### Return Values

Returns `TRUE` on success or `FALSE` on failure. 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.

### Notes

> 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.

### See Also

- 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