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() 获取客户端的远程地址并输出。最后,关闭客户端和服务器流。