2

socket_recv を使用して HTTP 応答を受信しようとしています。5000 バイトを超える応答に問題があります。受信を停止します。エラーをスローすることなく; Content-Length は応答がそれよりもはるかに大きいことを明確に示していますが (25000 バイト)、約 7000 バイトです。私は何か間違ったことをしていますか、それとも PHP ソケットは一般的に不安定ですか?

コードの関連部分は次のとおりです。

 while((socket_recv($this->socket, $buf, 1024, MSG_WAITALL)) > 0){
        $this->fullResponse .= $buf;    
    }
 if(!$this->fullResponse){
     $errno = socket_last_error();
     $errmsg = socket_strerror($errno);
     echo $this->state = "{$errno} {$errmsg}";
     return;
 }
4

1 に答える 1