Intereting Posts
Устаревший: mysql_connect () как установить php cookie с истечением срока действия, и если существует файл cookie, как перенаправить пользователя на другую страницу Как предотвратить дублирование вставок в таблицу Показывать пользовательское поле продукта до краткого описания в WooCommerce Есть ли простой способ «получить» размер изображения в PHP без javascript? Перестановка многомерного массива Как добавить большое количество напоминаний о событиях через API календаря Google с помощью PHP? Если инструкция else, перенаправляемая на другую страницу Вложения Swift Mailer Ошибка PHPMailer с вызовом неопределенного метода PHPMailer :: SetFrom () Класс шаблона, не связанный с str_replace Как добавить массив как свойство объекта в класс, объявленный в PHP-расширении? Добавьте строку в таблицу и отправьте на сервер, отправьте стол через jquery на php Время ожидания PHP mail () Поиск наивысшего ключа / индекса в массиве

Как реализовать этот сценарий с помощью 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"); } 

Но здесь «Inserted Successfully» не отправляется отправителю, пока не будет выполнен цикл while.

Solutions Collecting From Web of "Как реализовать этот сценарий с помощью PHP?"

Я не знаю, будет ли это работать, но вы можете попробовать добавить Content-Length: and Connection: close заголовки и, конечно же, явно очистить вывод.

EDIT: попробуйте это

 ob_start(); //output header("Content-Length: ".ob_get_length()); header("Connection: close"); ob_end_flush(); //do other stuff 

Ob-Implicit-Flush должен делать трюк. 🙂