fread变量最大8192
问题描述:
所以我在这里是一个读取套接字输出的函数。fread变量最大8192
$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($的数据),我得到的8192
的值是否有一个最大可变大小?或者在函数中有什么限制$ data的长度为8192?
我设定块大小为256与'tsread(256)的块大;'和'$数据=的fread(。 $ handle,$ size);'对吗? – codexo10Z
@ codexo10Z有这个答案你的问题?如果你有另外一个如何处理这个问题,请用整个代码问他另一个问题,他使用的是他的类和/或框架 – user10089632