函数名称:EventUtil::getSocketName()
函数说明:该函数用于获取一个套接字的本地或远程绑定的地址和端口信息。
适用版本:Event 2.2.1 及以上版本
语法:string EventUtil::getSocketName(resource $socket, bool $include_port = false)
参数:
- $socket: 必需,表示一个套接字资源,可以是一个流资源返回的套接字描述符或者一个网络套接字的资源。
- $include_port: 可选,一个布尔值,表示是否包含端口号,默认为 false。
返回值:返回套接字的本地或远程绑定的地址和端口信息的字符串,如果出错返回 false。
示例:
$socket = stream_socket_server("tcp://127.0.0.1:8000", $errno, $errstr);
if (!$socket) {
die("Error: $errstr ($errno)");
}
$address = EventUtil::getSocketName($socket, true);
echo "Server is listening on " . $address;
fclose($socket);
上述示例代码中,我们使用 stream_socket_server
创建一个 TCP 服务器,并将其绑定在本地的 8000 端口。然后,我们使用 EventUtil::getSocketName
函数获取服务器套接字的地址和端口信息,并将其打印出来。最后,我们关闭该套接字。
输出结果类似于:Server is listening on 127.0.0.1:8000
,表示服务器正在监听本地的 8000 端口。