JavaScript — PHP зависает на сон ()

Я тестировал длинный опрос для сценария чата. Я разработал это, чтобы работать так:

  1. Клиент отправляет запрос на сервер (php)
  2. Сервер получает запрос и запускает цикл (в течение 1 минуты)
  3. На каждой итерации цикла сервер проверяет наличие «новых» сообщений из базы данных.
  4. Если есть новое сообщение, то сервер умирает со списком новых сообщений. (я использовал функцию die (string)
  5. Этот ответ получен клиентом и обработан.
  6. Если в течение 1 минуты нет новых сообщений, запускается другая функция die () со статусом «нет сообщения»

код выглядит так:

<?php
while($time<60)
{

if(any new messages) {
die (new messages)
}sleep(1);
$time++;

}

die(no new messages);

что это делает, в течение этих 60 секунд (когда он не может найти новые сообщения), мой сервер зависает. Я не могу открыть новую страницу, и другие пользователи не могут получить доступ к какой-либо странице (используя xampp)
Как мне исправить эту проблему?
Я знаю, что этот подход может быть не таким уж великим, но мне хотелось бы узнать проблему и узнать, как ее решить, а не предложения о том, как это сделать другим способом (веб-сокеты и т. Д.).

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]