Как мне реализовать этот сценарий с помощью PHP?
Я пишу приложение для Android, которое использует C2DM. Когда пользователь отправляет какое-либо сообщение на сервер, сервер отвечает отправителю и пересылает это сообщение другим пользователям в сети.
Проблема в том, что ответ отправителю задерживается до тех пор, пока сообщение не будет отправлено всем остальным. Это отнимает много времени. Я хочу, чтобы ответ сначала был отправлен отправителю, а затем выполнил процесс пересылки. Как я могу достичь этого...? Если я могу использовать параллельный обработка, как я могу это сделать на 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.
2 answers
Я не знаю, сработает ли это, но вы можете попробовать добавить заголовки Content-Length:
и Connection: close
и, конечно, явно выводимый вывод.
РЕДАКТИРОВАТЬ: попробуйте это
ob_start();
//output
header("Content-Length: ".ob_get_length());
header("Connection: close");
ob_end_flush();
//do other stuff
Ob-Неявный-Флеш должен сделать свое дело. :)