stream_socket_get_name
获取本地或者远程的套接字名称
PHP 5.0.0 及以上版本
stream_socket_get_name 函数用于获取与指定流关联的套接字的名称。
string stream_socket_get_name ( resource $stream, bool $want_peer )
返回一个字符串,表示套接字的名称。如果出错则返回 false。
<?php
$server = stream_socket_server("tcp://127.0.0.1:8080", $errno, $errstr);
if (!$server) {
echo "Error: $errstr ($errno)\n";
} else {
echo "Server started\n";
}
<p>$client = stream_socket_accept($server);<br>
if ($client) {<br>
$name = stream_socket_get_name($client, true);<br>
echo "Remote client address: $name\n";<br>
fclose($client);<br>
}<br>
fclose($server);<br>
?><br>
此示例代码首先创建一个TCP服务器,监听127.0.0.1地址的8080端口。接着,使用 stream_socket_accept() 等待客户端连接。一旦客户端连接,使用 stream_socket_get_name() 获取客户端的远程地址并输出。最后,关闭客户端和服务器流。