Lectura de datos de un socket muy lenta

pandolio
26 de Agosto del 2004
Buenas a todos, tengo un problema con un socket que hace todo bien, envia y recibe los datos HTTP, pero para procesar los datos que recibo y quedarme solo con el BODY que es lo que quiero, tarda siempre 15 Sg. he modificado el bucle muchas veces pero siempre tarda 15 Sg. Ya no se que hacer para que se reduzca este tiempo, y los datos que recibe son muy pocos, como mucho 100 caracteres. Les adjunto el código para que puedan hecharle un vistazo.

fputs($socket, $request);

$isHeader = true;
$blockSize = 0;

while (!feof($socket))
{
set_time_limit(0);

if($isHeader)
{
$line = fgets($socket, 4096);
$this->responseHeaders .= $line;
if('' == trim($line)){
$isHeader = false;
}
}
else
{
if(!$blockSize)
{
$line = fgets($socket, 4096);
if($blockSizeHex = trim($line))
{
$blockSize = hexdec($blockSizeHex);
}
}
else
{
$this->responseBody .= fread($socket,$blockSize);
$blockSize = 0;
}
}
}
fclose($socket);