Я пытаюсь понять, как функция чата Facebook получает сообщения без постоянного контроля сервера.
Firebug показывает мне, что один GET XmlHttpRequest постоянно сидит там, ожидая ответа от сервера. Через 5 минут это никогда не заканчивалось.
Как они предотвращают таймаут?
Запрос AJAX может просто сидеть там так неопределенно, ожидая ответа?
Могу ли я сделать это с помощью JSONRequest? Я вижу это на json.org:
JSONRequest предназначен для поддержки дуплексные соединения. Это позволяет приложения, в которых сервер может асинхронно инициировать передачи. Это делается с использованием двух одновременных запросы: один для отправки, а другой - Получать. Используя тайм-аут параметр, запрос POST может быть оставлен до тех пор, пока сервер не определит что у него есть своевременные данные для отправки.
Или есть другой способ, чтобы вызов AJAX просто сидел там, ожидая, помимо использования JSONRequest?