socket_getpeername
特定のソケットのリモートエンドをクエリします。このタイプに応じて、ホスト/ポートまたはUNIXファイルシステムパスになる可能性があります
関数名:socket_getPeername()
該当するバージョン:PHP 4、PHP 5、PHP 7
使用法:socket_getPeername()関数は、ソケットに関連付けられているリモートホストのIPアドレスとポート番号を取得するために使用されます。
構文:bool socket_getpeername(リソース$ socket、string&$ address [、int&$ port])
パラメーター:
返品値:成功の真のリターン、および失敗にfalseを返します。
例:
<?php // 创建一个TCP套接字$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); // 绑定套接字到IP地址和端口socket_bind($socket, '127.0.0.1', 8080); // 监听连接socket_listen($socket); // 接受客户端连接$clientSocket = socket_accept($socket); // 获取客户端的IP地址和端口号if (socket_getpeername($clientSocket, $address, $port)) { echo "客户端IP地址:{$address}\n"; echo "客户端端口号:{$port}\n"; } else { echo "获取远程主机信息失败\n"; } // 关闭套接字socket_close($socket); ?>
上記の例では、TCPソケットを作成し、ローカルアドレスとポートにバインドします。次に、接続を聞き、クライアント接続を受け入れます。最後に、socket_getPeername()関数を使用して、クライアントのIPアドレスとポート番号を取得して印刷します。