stream_socket_get_name()

获取本地或者远程的套接字名称

首字母:S

函数:stream_socket_get_name()

适用版本:PHP 4 >= 4.3.0, PHP 5, PHP 7

用法:string stream_socket_get_name ( resource $handle , bool $want_peer )

参数:

  • $handle: 必需,一个有效的套接字资源,通常通过 stream_socket_client() 或 stream_socket_server() 函数创建。
  • $want_peer: 可选,如果设置为 true,则返回对方的套接字名称,如果设置为 false,则返回本地套接字名称。默认为 true。

返回值:返回指定套接字的名称,如果失败则返回 false。

示例:

// 创建一个 TCP 套接字连接到 example.com 的 80 端口
$socket = stream_socket_client("tcp://example.com:80", $errno, $errstr, 30);
if ($socket) {
 // 获取本地套接字名称
 $localName = stream_socket_get_name($socket, false);
 echo "本地套接字名称: " . $localName . PHP_EOL;
 // 获取对方套接字名称
 $peerName = stream_socket_get_name($socket, true);
 echo "对方套接字名称: " . $peerName . PHP_EOL;
 // 关闭套接字连接
 fclose($socket);
} else {
 echo "连接失败: " . $errstr . " (" . $errno . ")";
}

输出:

本地套接字名称: tcp://192.168.1.100:12345
对方套接字名称: tcp://93.184.216.34:80

上述示例演示了如何使用 stream_socket_get_name() 函数获取本地套接字名称和对方套接字名称。首先,我们使用 stream_socket_client() 函数创建了一个 TCP 套接字连接到 example.com 的 80 端口。然后,我们分别使用 stream_socket_get_name() 函数获取了本地套接字名称和对方套接字名称。最后,我们关闭了套接字连接。

请注意,本地套接字名称是以 "tcp://" 开头的字符串,后面跟着 IP 地址和端口号。对方套接字名称也是以 "tcp://" 开头的字符串,后面跟着对方的 IP 地址和端口号。

同首字母函数