Какое безопасное количество времени я могу ждать, прежде чем ответить на браузер, не получая тайм -аут?

StackOverflow https://stackoverflow.com/questions/1338123

  •  20-09-2019
  •  | 
  •  

Вопрос

Я делаю приложение в чате, которое работает с длинным заполнением, чтобы эмулировать «толчок» от сервера к клиенту.

По сути, браузер просит обновления, и я отвечаю, если есть что -то новое. В противном случае я держу соединение открытым, не отвечая, пока не будет что -то, чтобы отправить обратно.

Теперь, если прошло 30 секунд, и я ничего не отправил, тогда я отправляю ответ, говоря, что в основном «nonws», и клиент снова проведет опрос.

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

Кто-нибудь из вас сделал давно загрязняющее приложение?
Есть идеи, какие могут быть самые длинные безопасные тайм -аут?

Спасибо!

Это было полезно?

Решение

Браузер должен обнаружить тайм -аут на XHR и сделать еще один запрос.

Обновлять:

Обнаружение тайм-аутов на XHR на самом деле является сложным, поскольку по какой-то причине это не встроено. Конечно, вам также нужно будет справиться с ответами 502/503 и т. Д.

Другие советы

Тайм -аут чтения варьируется между браузерами. Например, это значения по умолчанию для IE,

Internet Explorer 4.0 and Internet Explorer 4.01 - 5 minutes
Internet Explorer 5.x and Internet Explorer 6.x - 60 minutes
Internet Explorer 7 and Internet Explorer 8 - 60 minutes

Как видите, он становится все больше сверхурочно.

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

Вы можете прочитать мой ответ на этот вопрос,

Опрос HTTP -сервер от J2ME Client

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top