Lendo dados de fsockopen usando fgets / fread pendura

Aqui está o código que estou usando:

<code>if (!($fp = fsockopen('ssl://imap.gmail.com', '993', $errno, $errstr, 15)))
    echo "Could not connect to host";
$server_response = fread($fp, 256);
echo $server_response;

fwrite($fp, "C01 CAPABILITY"."\r\n");
while (!feof($fp)) {
    echo fgets($fp, 256);
}
</code>

Eu recebo a primeira resposta:

<code>OK Gimap ready for requests from xx.xx.xx.xx v3if9968808ibd.15 
</code>

mas depois a página expira. Eu pesquisei através de stream_set_blocking, stream_set_timeout, stream_select, fread, etc. mas não consegui fazê-lo funcionar. Eu preciso ler todos os dados que o servidor envia e, em seguida, continuar com outros comandos (eu estaria recuperando e-mails usando o imap).

obrigado

questionAnswers(2)

yourAnswerToTheQuestion