getsockname
SOCKET
This function returns the packed sockaddr address of this end of the
SOCKET
connection. (And why wouldn't you know your own address already? Because you might have bound an address containing wildcards to the generic socket before doing an
accept
. Or because you might have been passed a socket by your parent process - for example,
inetd
.)
use Socket; $mysockaddr = getsockname(SOCK); ($port, $myaddr) = unpack_sockaddr_in($mysockaddr);