English | 简体中文 | 繁體中文
查询

socket_getpeername()函数—用法及示例

「 获取与套接字关联的远程主机的IP地址和端口号 」


函数名:socket_getpeername()

适用版本:PHP 4, PHP 5, PHP 7

用法:socket_getpeername() 函数用于获取与套接字关联的远程主机的IP地址和端口号。

语法:bool socket_getpeername ( resource $socket , string &$address [, int &$port ] )

参数:

  • $socket:必需。一个有效的套接字资源,由 socket_create() 或 socket_accept() 返回。
  • $address:必需。用于存储远程主机的IP地址。
  • $port:可选。用于存储远程主机的端口号。

返回值:成功时返回 true,失败时返回 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地址和端口号,并将它们打印出来。

补充纠错
上一个函数: socket_getsockname()函数
下一个函数: socket_recvmsg()函数
热门PHP函数
分享链接