2

NSURLConnectionを介してサーバーに頻繁に接続するiOSアプリケーションを作成しました。これはかなり標準的な設定です。アプリはさまざまな情報をサーバーに送信し、サーバーは受信した情報に基づいてJSON応答を返します。

私が構築した新機能では、多くの処理を行うために特定のPHPスクリプトが必要です。サーバーの終了後にアプリケーションに応答を与えるのではなく、処理を開始する前にアプリケーションに応答を与えたいと思います。それは私が達成できないことです。

PHPの基本的な概要は次のとおりです。

<?
echo "Output buffering is " . ini_get('output_buffering') . "<br />";
// NM testing ob buffer technique

ob_start(); 

$profiles_ar = array(
    "reach" => 10,
);

$return_ar = array(
    "success"   => $profiles_ar['reach'],
);

echo json_encode($return_ar);                   // Note the buffer must be "filled" with 4096 characters (bytes?) for ob_flush() to work before sleep() occurs.

for($i = 0; $i < 5000; $i++)
{
    echo " ";
    ob_flush(); flush;
}

echo $buffer;

ob_flush();

flush();

ob_end_flush();

for($i=0;$i < $profiles_ar['reach']; $i++)
{
   sleep(1);
}

echo "finshed: ".$i;

ob_flush();

flush();

ob_end_flush();

?>

上記のスクリプトはブラウザで完全に正常に機能します-{"success":10}がすぐに出力されます。ただし、iOSアプリケーションからこのスクリプトにアクセスすると、forループが終了した後に{"success":10}が受信されます。

この問題に取り組む方法について何かアイデアはありますか?どんな助けでも大歓迎です。

4

0 に答える 0