2009-09-23 5 views
4

Помимо очевидной тяжелой нагрузки на сервер, неудобно ли одновременно проводить несколько одновременных опросов AJAX? Или существует ли ограничение в отношении того, что может обрабатывать браузер/сервер?Параллельный опрос AJAX

Пример (все AJAX опрос) ..

  • Функция А на 3-секундном интервале тянущего для нового сообщения для глобальной системы чата (например, Facebook/MySpace).

  • Функция B находится на 2-секундном интервале для вытягивания обновлений и каких действий показывать пользователю (например, в онлайн-покере).

  • Функция C находится на 4-секундном interal, но также вытягивает новое сообщение для отдельной системы обмена сообщениями.

+0

не могли бы вы дать мне знать, как вы делали одновременные звонки ajax? –

ответ

3

У браузеров обычно было ограничение на 4 (или в действительно старых случаях 2) одновременных соединений на домен. Большинство современных браузеров увеличили это до 6 или 8 (основываясь на моем собственном тестировании и некоторых поддерживающих чтениях).

Такие длинные опросные соединения могут съесть эти слоты в браузере и потенциально предотвратить быстрое скачивание других вещей.

В противном случае это может быть полоса пропускания для людей с медленными соединениями (коммутируемыми или сотовыми сетями).

Могут быть и другие недостатки, но я вижу два больших.

0

Вам не нужно больше двух активных соединений AJAX одновременно. Либо вы делаете длинный опрос, например, сервер отвечает заголовками, а затем отправляет тело объекта, когда есть данные для доставки.

Если вы запустили схему опроса, описанную выше, с помощью A, B, C, вы можете сделать это с помощью одного потока AJAX, который чередуется между тремя запросами, но с значением таймаута, установленным на следующий интервал запроса. Вы создаете воображаемую временную шкалу, в которой вы распространяете свои запросы на A, B и C, используя один поток AJAX.

0

Я обнаружил, что некоторые мобильные устройства (например, iPad) подавляют более одного ожидающего запроса xhr.