2016-08-11 2 views
1

Я работаю над веб-приложением, которое получает обновления типа push с сервера отдыха с использованием метода длительного опроса.xhr запрашивает таймаут, когда хром сведен к минимуму

Он запускает setTimeout(), который выполняет функцию, которая выполняет запрос xhr GET с таймаутом 120 секунд. Он также отправляет серверу специальный заголовок «Accept-Wait», равный 60 секундам, который сообщает серверу, когда он отвечает с 200 и данными для клиента. Затем клиент повторяет этот setTimeout. Это продолжается навсегда, пока клиент «зашел» на сервер.

У меня есть пользователь Chrome (он может использовать только Chrome, поэтому я не проверял, является ли это воспроизводимым в других браузерах, поскольку никто другой не может воспроизвести эту проблему), который, когда он сводит к минимуму, запросы GET начинают отсчет времени вне. Это похоже на мой longpoller, как на сервере.

Я включил отладку на остальном сервере и подтвердил, что у него ничего нет от этого пользователя за 2 минуты (похоже, что запросы GET не выходят из браузера). Я также наблюдал за вкладкой «сеть» терминала Chrome (F12), что запросы «отменяются» на 2 минуты, указывая, что они отключены. Эта проблема также воспроизводится при использовании «localhost», который, как я думаю, исключает проблемы с сетью.

Как я могу получить дополнительную информацию о Chrome относительно того, почему он не позволяет трафику http для этого пользователя?

Благодаря

+0

Решено ли? –

+0

Нет ... На самом деле, я отправился навестить клиента на месте и продолжить эту проблему дальше, но когда я приехал, они больше не могли воспроизвести проблему. Я считаю, что это была сетевая проблема или даже проблема с сетевой безопасностью, которая была решена параллельно с моим устранением неполадок. –

ответ

0

Если эта проблема происходит только в Google Chrome, может быть, это отбрасывание вкладки, вы можете предотвратить его, отключив флаг, введите следующий URL-адрес на адрес бар и посмотреть, если он включен:

chrome://flags/#automatic-tab-discarding 
+0

К сожалению, это не так. Они отключены. На самом деле, я бы не предположил, что таймер longpolling будет тайм-аут GET-запросов, если бы это было из-за этого. –

Смежные вопросы