所以我这里有一个从套接字读取输出的函数。
$content=$this->tsread(256);
function tsread($size,$timeout=1)
{
global $handle;
$start=microtime(true);
do
{
usleep($size*10);
$data=fread($handle,1);
$info=stream_get_meta_data($handle);
}
while ((microtime(true)-$start)<$timeout and $info['timed_out']);
do
{
usleep($size*10);
if ($info['unread_bytes']>$size)
{
$data.=fread($handle,$size);
}
else
{
$data.=fread($handle,$info['unread_bytes']);
}
$info=stream_get_meta_data($handle);
}
while ($info['unread_bytes']>0);
return $data;
}
通常,这会成功读取输出,但最近套接字的输出已经变大,而且函数并没有成功读取它。
当我做strlen($ data)时,我得到一个8192的值。
是否有最大可变大小?或者函数中是否存在将$ data的长度限制为8192的内容?