Длительный опрос блокирует мои другие запросы Ajax

хорошо, я использую сервер Apache, и у меня есть следующие ситуации.

  1. У меня есть JScript, который отправляет запрос XHR в PHP-файл с длинным опросом.
  2. Теперь запрос долго опрашивается 15 сек.
  3. Теперь, пока идет длинный опрос, я пытаюсь отправить еще один запрос XHR.
  4. Но тайм-аут другого запроса XHR, похоже, не достигает моего сервера Apache.

Теперь мой вопрос: почему это происходит? это потому, что сервер Apache использует только однопоточное соединение для одного клиента? или из-за длительного опроса соединение стало постоянным, другой запрос XHR не может быть удовлетворен?

мой сервер XAMPP 1.8.0 с Apache 2.4.2


person Netorica    schedule 14.08.2012    source источник


Ответы (1)


нашел уже ответ здесь.

Мне нужно использовать функцию ниже

session_write_close();

Долгий опрос блокирует другие вызовы AJAX

person Netorica    schedule 14.08.2012
comment
Это действительно исправило? Я думал, что исправлял это несколько раз, но это оказалось чувствительным ко времени. Попробуйте Очистить кэш и Жесткую перезагрузку в Chrome, чтобы убедиться, что вы действительно исправили проблему. Если длинный запрос опроса приходит перед другим (важным) запросом, а время поддержания активности составляет 5 секунд, важный запрос будет заблокирован на 5 секунд, прежде чем он откроет другое соединение. Насколько мне известно, браузеры не реализуют конвейерную обработку HTTP, что очень печально. Даже события, отправляемые сервером (новый способ длительного опроса), имеют ту же проблему. - person doug65536; 15.12.2013