Qual é uma quantidade segura de tempo que posso esperar antes de responder a um navegador, sem obter um tempo limite?

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

  •  20-09-2019
  •  | 
  •  

Pergunta

Estou fazendo um aplicativo de bate-papo que funcione com a policial longa para emular um "empurrão" do servidor para o cliente.

Basicamente, o navegador pede atualizações e respondo se há algo novo. Caso contrário, mantenho a conexão aberta sem responder até que haja algo para enviar de volta.

Agora, se 30 segundos se passaram e eu não enviei nada, envio uma resposta, dizendo basicamente "nenhumws", e o cliente irá pesquisar novamente.

O que eu quero fazer é obviamente manter essa conexão sem responder pelo maior tempo possível, antes que o navegador simplesmente desista e desista ... não encontrei uma boa documentação sobre qual é o tempo limite do cliente para cada navegador, E não parece que é o mesmo para todos eles ...

Algum de vocês fez um aplicativo de longa duração?
Alguma idéia de qual pode ser o tempo limite mais longo?

Obrigado!

Foi útil?

Solução

O navegador deve detectar um tempo limite em um XHR e fazer outra solicitação.

Atualizar:

Detectar tempos limite em um XHR é realmente complicado, pois não está embutido por algum motivo. Claro que você também precisará lidar com respostas 502/503, etc.

Outras dicas

O tempo lim de leitura varia entre os navegadores. Por exemplo, esses são valores padrão para o 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

Como você pode ver, ele fica maior horas extras.

Em longas pesquisas, o tempo limite é seu amigo. Você deve aproveitar isso, em vez de evitá -lo. Tempo limite significa que você está fazendo pesquisas mais longas possíveis com o navegador. O tempo limite é um erro que você deve lidar, mesmo sem pesquisas longas, para que não haja carga extra.

Você pode querer ler minha resposta a esta pergunta,

Pesquisando um servidor HTTP do J2ME Client

Mesmo que seja para um cliente móvel, a maioria das regras se aplica também a uma pesquisa longa do AJAX. Especificamente, acho que você se beneficiará de um sistema de notificação, por mais que as pesquisas longas sejam usadas apenas para notificação de eventos e todo o conteúdo ainda é puxado normalmente.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top