socket_getsockname
查询给定套接字的本地端,该端口可能导致主机/端口或Unix文件系统路径,具体取决于其类型
PHP 4 >= 4.0.3, PHP 5, PHP 7, PHP 8
socket_getsockname 函数用于获取一个已连接的 socket 的本地地址信息。该函数返回的是绑定到 socket 上的本地地址,包括 IP 地址和端口号。
socket_getsockname ( resource $socket , string &$address , int &$port ) : bool
成功时返回 true,失败时返回 false。
<?php // 创建一个 TCP socket $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); <p>// 绑定到本地地址和端口<br> socket_bind($socket, '127.0.0.1', 0);</p> <p>// 获取本地地址信息<br> socket_getsockname($socket, $address, $port);</p> <p>// 输出本地地址和端口<br> echo "Local address: $address\n";<br> echo "Local port: $port\n";</p> <p>// 关闭 socket<br> socket_close($socket);<br> ?><br>
在这个示例中,我们首先创建了一个 TCP socket,并将其绑定到本地 IP 地址(127.0.0.1)和端口(0,表示系统会自动选择端口)。然后,我们使用 socket_getsockname 函数获取该 socket 的本地地址和端口,并将其存储在变量 $address 和 $port 中。最后,输出本地地址和端口,并关闭 socket。