2017-05-06 23 views
0

私はPHPでリバースプロキシサーバを開発しようとしていますが、httpリクエストを作成するためにCURLを使用しています。PHPカール書き込み応答最終コールバック

私は書き込みコールバック関数を設定するのにCURLOPT_WRITEFUNCTIONを使用しています。このコールバック関数で

`

function curlReadCallback(&$param, $body) 
    if ($this->_buffered) { 
         $this->_buffer .= $body;} 
// process($this_buffer) // On final call, i want to call this 
} 

`

、私がこれまでに蓄積された応答のバッファを作成し、一度、すべての応答が与えられている、私は一度に最終的な応答を処理したいです。問題は、これが最後のコールバックであることを知る方法を理解することができず、今では完全な応答を処理することができるということです。

ご協力いただきますようお願い申し上げます。

答えて

0

あなたのコードは、作成するリクエストの数を数え、受け取ったレスポンスと比較するだけのようです。

考える:

function curlReadCallback(&$param, $body) 
    $this->responsesReceived++; 
    if ($this->_buffered) { 
    $this->_buffer .= $body; 
    } 
    if ($this->responsesReceived == $this->requestsSent) { 
    process($this->_buffer); 
    } 
} 

$this->requestsSent = 10; // set to however many requests you send 
$this->responsesReceived = 0; 

あなたはこのようなものを使用することができます

関連する問題