NSURLConnection在返回响应之前等待服务器完成处理 - 浏览器没有

时间:2013-03-12 16:44:47

标签: php ios xcode nsurlconnection nsurlrequest

我已经构建了一个经常通过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}。

有关如何解决此问题的任何想法?任何帮助将不胜感激。

0 个答案:

没有答案
相关问题