我有一行代码如下:
stream_select($streamsReadyToRead , $lcNull, $lcNull, 0, 31250);
根据manual,这应该是"看看字符是否可供阅读",而$streamsReadyToRead
应填充 准备好阅读的流。
但是,我正在读这样的插座:
foreach ($streamsReadyToRead as $streamToRead)
{
$text = fgets($streamToRead);
if (empty($text))
{
echo "This should never happen, but does!";
}
}
如果我通过流发送一些小内容,它可以正常工作。当我超过1000个字符时,它有时会读 nothing !
有什么我不理解的吗?为什么stream_select
告诉我套接字有可用于阅读的字符,而实际上还没有准备好阅读呢?