socket_get_status

(PHP 4, PHP 5, PHP 7, PHP 8)

socket_get_statusstream_get_meta_data() 的别名

描述

此函数是以下函数的别名:stream_get_meta_data().

添加笔记

用户贡献的笔记 3 个笔记

4
gtk at linux dot online dot no
22 年前
请注意,如果使用 socket_set_blocking() 设置套接字为非阻塞,则无法使用此函数检查套接字是否已超时。

示例

$status = socket_get_status($fp);

if ($status['timed_out']) {
echo "套接字超时\n";
}

即使套接字已超时,上述条件也不会成立。

我不确定这种行为是未记录还是 bug。无论如何,我在这里发布它,因为它花了一些时间才弄清楚。
3
rawb at rawb dot org
23 年前
使用 socket() 创建的套接字,主要用于监听连接,对该函数不友好,您将不会获得预期结果(如果您获得任何结果)。
-19
corruptNOSPAMPLEASE at mod dot net
22 年前
此函数在 4.0.4pl1 下对我有效

bytes_left 函数将告诉您套接字 $fp 的缓冲区中还剩下多少字节。假设您没有将 $fp 设置为全局变量

function bytes_left($fp) {

$status = socket_get_status ($fp);
$bytes = $status["unread_bytes"];
return $bytes;
}
To Top