4

我正在编写一个使用 C2DM 的 android 应用程序。当用户向服务器发送一些消息时,服务器会回复发送者并将该消息转发给网络中的一组其他用户。

问题是,对发件人的回复被延迟,直到消息被转发给所有其他人。这需要很多时间。我希望先将回复发送回发件人,然后执行转发过程。我怎样才能做到这一点...?如果我可以使用并行处理,我怎么能在 PHP 中做到这一点......?任何帮助将不胜感激:)

我用过这样的东西,

print(json_encode("Inserted Successfully"));//."   ".count($tags)));

while($row = mysql_fetch_row($result))
{
     $id = $row[0];
     sendMessageToUserID($id,"New Question !!",$ques_id,"yyyy");
}

但是,这里“插入成功”不会发送给发送者,直到执行 while 循环之后。

4

2 回答 2

6

我不知道这是否可行,但您可以尝试添加Content-Length:Connection: close标头,当然还有显式刷新输出。

编辑:试试这个

ob_start();
//output
header("Content-Length: ".ob_get_length());
header("Connection: close");
ob_end_flush();
//do other stuff
于 2012-05-01T20:19:07.507 回答
2

Ob-Implicit-Flush应该可以解决问题。:)

于 2012-05-01T20:04:38.497 回答