(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)
socket_getpeername — Interroga el otro extremo de la comunicación
Interroga el otro extremo de la comunicación.
socketUna instancia de Socket creada por socket_create() o socket_accept() .
address
Si el socket socket es de tipo
AF_INET o AF_INET6 ,
socket_getpeername() devolverá
la dirección IP del host, en notación numérica (por ejemplo,
127.0.0.1 o fe80::1) en el
parámetro address, y si el parámetro opcional
port está presente, también devolverá el puerto
de la comunicación establecida.
Si el socket socket es de tipo AF_UNIX ,
socket_getpeername() devolverá la ruta en el
sistema de archivos (por ejemplo, /var/run/daemon.sock) en el
parámetro address.
port
Si se proporciona, este debe ser el puerto asociado a la dirección
del parámetro address.
Esta función retorna true en caso de éxito o false si ocurre un error. socket_getpeername() también puede
devolver false si el tipo del socket no es ni AF_INET ,
AF_INET6 ni AF_UNIX , en cuyo caso el
último código de error del socket no se modifica.
| Versión | Descripción |
|---|---|
| 8.0.0 |
socket ahora es una instancia de Socket ;
anteriormente, era un resource .
|
Nota:
socket_getsockname() no debe usarse con los sockets
AF_UNIXcreados con socket_accept() . Solo los sockets creados con socket_connect() o un socket servidor primario tras una llamada a socket_bind() devolverán valores lógicos.
Nota:
Para que la función socket_getpeername() devuelva un valor coherente, el socket sobre el que se llama a la función debe ser evidentemente uno para el que el concepto de "peer" tiene sentido.
socket_getpeername will not work for UDP sockets. Instead, use socket_recvfrom - it provides the IP address and port of the source server - eg:
$size=socket_recvfrom($socket,$input,65535,0,$ipaddress,$port);
echo "Received [$input] ($size bytes) from IP $ipaddress Port $port\n";