牛牛在线工具

Swoole\Server::getClientInfo()

收录 8868 个 PHP 函数,含用途说明与用法示例。

Swoole\Server::getClientInfo()

获取客户端连接的信息,包括IP地址、端口、连接时间、最近一次发送数据时间等

函数名:Swoole\Server::getClientInfo() 函数描述:该函数用于获取客户端连接的信息,包括IP地址、端口、连接时间、最近一次发送数据时间等。 适用版本:Swoole 4.0.0及以上版本 用法: $clientInfo = $server->getClientInfo($fd, $reactorId = -1, $noCheckConnection = false); 参数说明: $fd(必填):客户端的文件描述符,通过其他事件回调函数中的参数传入。 $reactorId(可选):指定获取客户端信息所在的Reactor线程ID,如果不指定,默认为-1,表示随机选择一个Reactor线程。 $noCheckConnection(可选):是否检查连接状态,默认为false,如果设置为true,即使客户端已经关闭连接,也会返回客户端信息。 返回值: 成功时,返回包含客户端信息的关联数组,包括以下字段: server_fd:服务器文件描述符 server_port:服务器端口 remote_port:客户端端口 remote_ip:客户端IP地址 connect_time:连接时间,Unix时间戳 last_time:最近一次发送数据的时间,Unix时间戳 失败时,返回false。 示例: $server->on('Receive', function ($server, $fd, $reactorId, $data) { $clientInfo = $server->getClientInfo($fd); if ($clientInfo) { echo "客户端IP: " . $clientInfo['remote_ip'] . "\n"; echo "客户端端口: " . $clientInfo['remote_port'] . "\n"; echo "连接时间: " . date('Y-m-d H:i:s', $clientInfo['connect_time']) . "\n"; echo "最近一次发送数据时间: " . date('Y-m-d H:i:s', $clientInfo['last_time']) . "\n"; } else { echo "获取客户端信息失败\n"; } }); 以上示例中,通过$server->on('Receive', ...)事件回调函数中的$fd参数获取客户端文件描述符,然后调用$server->getClientInfo($fd)来获取客户端的信息。如果成功获取到客户端信息,则打印出客户端的IP地址、端口、连接时间和最近一次发送数据的时间。如果获取失败,则打印出错误信息。