O que é uma quantidade segura de tempo que eu posso esperar antes de responder a um navegador, sem ter um tempo limite?

votos
5

Eu estou fazendo uma aplicação de chat que funciona com longa-polling para emular um push do servidor para o cliente.

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

Agora, se 30 segundos se passaram e eu não enviou qualquer coisa, então eu faço enviar uma resposta, dizendo basicamente NoNews, eo cliente irá pesquisar novamente.

O que eu quero fazer é, obviamente, manter esta conexão sem responder para o maior tempo possível, antes que o navegador irá simplesmente tempo e desista de mim ... eu não encontrei uma boa documentação sobre o que o tempo limite do cliente é para cada navegador, e ela não parecer que é o mesmo para todos eles ...

Tem algum de vocês fez uma aplicação a longo polling?
Todas as idéias que o mais longo de tempo limite seguro pode ser?

Obrigado!

Publicado 27/08/2009 em 00:28
fonte usuário
Em outras línguas...                            


2 respostas

votos
2

O navegador deve detectar um tempo limite em um XHR e fazer outro pedido.

Atualizar:

Detectando o tempo limite em um XHR é realmente complicado, uma vez que não está embutido por algum motivo. Claro que você também vai precisar para lidar com 502/503 respostas, etc ..

Respondeu 27/08/2009 em 00:31
fonte usuário

votos
1

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

Em longo voto, tempo limite é seu amigo. Você deve tirar proveito dela, em vez de evitá-lo. Timeout significa que você está fazendo MAIS LONGO polling possível com o browser. Timeout é um erro que você tem que lidar com mesmo sem muito tempo de votação para que não haja carga extra.

Você pode querer ler minha resposta a esta pergunta,

polling um servidor HTTP do cliente J2ME

Mesmo que seja para um cliente móvel, a maioria das regras se aplicam a AJAX sondagem longa também. Especificamente, eu acho que você vai beneficiar de um sistema de notificação de tanto tempo de votação é usado apenas para a notificação de eventos e todos os conteúdos ainda são puxados normalmente.

Respondeu 27/08/2009 em 01:09
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more