首页 话题 小组 问答 好文 用户 我的社区 域名交易 唠叨

[函数]socket_getpeername()函数—用法及示例

发布于 2025-05-05 00:07:47
0
41

函数名: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地址和端口号,并将它们打印出来。

评论
一个月内的热帖推荐
啊龙
Lv.1普通用户

9545

帖子

31

小组

3242

积分

赞助商广告
站长交流