Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

JoaoGusmao

Verificar banco com Ajax Reverso

Recommended Posts

Galera, li um tempo atrás sobre ajax reverso, que é o inverso do ajax (não diga!!!).

Com o ajax, fica pesado, e preciso de uma coisa que não pese, e que só seja executada quando realmente é necessário. Eis que me surge essa coisa ai.

 

Baixei um chat quem tem como base o Ajax reverso, porém, não entendi NADA do código, e por isso não posso reaproveita-lo para fazer o que preciso.

O que preciso é notificar o usuário sobre o número de notificações pendentes (atualmente faço isso com o ajax normal).

Alguém que domine o assunto poderia me auxiliar na produção desse script?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Existem algumas formas: Server Push, Long Polling, WebSockets. Ajax Reverso é o nome errado de Server Push (li não sei aonde isso '-')...

 

Eu aconselharia long polling (facebook utiliza), não é tão performático quanto server push ou web sockets, mas é muito fácil de implementar e vai funcionar em qualquer navegador.

 

Há também o Node.js, mas não tive tempo de analisá-lo.

 

O Long Polling, basicamente realiza uma requisição, via ajax, ao server. O server só irá retornar na hora que tiver alguma alteração ou exceder o tempo de execução de script(erro). Assim que houver a resposta do server, o client irá fazer uma nova requisição e aguardará o seu retorno. Gerando esse loop.

 

Se você utiliza o Firebug (Firefox) ou Chrome, entre no Facebook, aperte F12 e vá em console. Verificará o que eu estou falando.

Compartilhar este post


Link para o post
Compartilhar em outros sites

hmm..

Obrigado pela resposta.

Sobre esses nomes ai, não é tudo a mesma coisa?

Sobre o F12, eu sempre uso :D

Se tu tiver alguns exemplos de long poolling e puder compartilhar, agradeço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pelo que eu entendi não, mas o resultado é basicamente o mesmo. Mas há artigos que se contradizem.

Caso eu falar besteira, por favor me corrijam, ainda estou estudando isso:

 

Polling é o ajax normal. Faz a requisição e recebe a resposta.

 

Long Polling é como um ajax normal, entretanto, só haverá retorno quando houver alguma alteração. Após o retorno do server, é necessária uma nova requisição.

 

Server Push (Commet) é aquele que é feita apenas uma requisição ao banco, e ele sempre retornará quando houver modificações, não sendo mais necessárias as requisições do cliente (diferente do long polling). Um exemplo do Node.js.

 

Já sobre WebSockets, não encontrei muita coisa pra falar a verdade. Todas as definições eram bem parecidas com Server Push. Entretanto, todas as implementações/artigos que encontrei não funcionavam, mesmo o navegador dando suporte a WebSockets. Mas acredito que o funcionamento seja semelhante aos sockets de aplicativos desktop.

 

Exemplo de uso:

Long Polling

chatildis

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na verdade, se você pausar o vídeo na parte que ele mostra os códigos, vai entender bem o que ele faz.

 

Agora você vai ter que se esforçar um pouco.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.