getsockname SOCKET

返回 SOCKET 连接的此端点的打包 sockaddr 地址,如果您不知道地址,因为您可能有多个不同的 IP 地址,连接可能来自这些地址。

use Socket;
my $mysockaddr = getsockname($sock);
my ($port, $myaddr) = sockaddr_in($mysockaddr);
printf "Connect to %s [%s]\n",
   scalar gethostbyaddr($myaddr, AF_INET),
   inet_ntoa($myaddr);