SunshinePHP Developer Conference 2015

socket_getpeername

(PHP 4 >= 4.1.0, PHP 5)

socket_getpeername Pergunta ao lado remoto do socket dado qual deve ser o resultado em host/port ou no endereço UNIX filesystem, dependendo deste tipo.

Descrição

bool socket_getpeername ( resource $socket , string $&addr [, int $&port ] )
Aviso

Esta função é EXPERIMENTAL. O comportamento desta função, seu nome, incluindo toda documentação pode ser modificado sem aviso em futuras versões do PHP. Esta função deve ser usada por sua própria conta e risco.

Se o socket dado é do tipo AF_INET ou AF_INET6, socket_getpeername() irá retornar o peers (remote) IP address na notação apropriada (ex. 127.0.0.1 ou fe80::1) no parâmetro address e, se o parâmetro opcional port está presente, também o associa à porta.

Se o socket dado é do tipo AF_UNIX, socket_getpeername() irá retornar o endereço UNIX filesystem (ex. /var/run/daemon.sock) no parâmetro address.

Nota: socket_getpeername() não deve ser usado com sockets AF_UNIX criados com socket_accept(). Somente sockets criados com socket_connect() ou um socket de servidor primário seguindo uma chamada para socket_bind() irá retornar valores significativos.

Retorna TRUE em caso de sucesso ou FALSE em caso de falha. socket_getpeername() deve também retornar FALSE se o tipo de socket não é algum destes AF_INET, AF_INET6, ou AF_UNIX, no caso o último código de erro do socket não é atualizado.

Veja também socket_getsockname(), socket_last_error() e socket_strerror().

add a note add a note

User Contributed Notes 1 note

up
1
redph0enix at hotmail dot com
11 years ago
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";
To Top