Oi Galera !! Estou fazendo uma aplicação que é um comunicador instantâneo, basicamente um tipo de “What’s up !”. Mas a única coisa que me impede de finalizar é que não estou conseguindo atualizar a página do lado do cliente para que ele receba as respostas em tempo-real e vice-versa, ele tem que ficar atualizando manualmente (F5). Alguém teria uma ideia de como poderia atualizar no momento que fosse disparado um evento de botão ?? Eu já tentei atualizar com a função HEADER do php e LOCATION.RELOAD() do Jquery, mas não deu certo. Agradeço qualquer ajuda !!
vamos la
vc pode forçar o reload da pagina, mas o efeito disso é muito ruim. recarregar tudo? tem certeza?
o que vc quer é atualizar a pagina via AJAX.
Faça um pequeno codigo javascript com jQuery. a cada x segundos vc vai requisitar de forma assincrona se existe alguma novidade. se existir, vc vai receber as mensagens e vai adicionar no DOM da pagina. o vulgo AJAX
N’ão é muito diferente de um “scroll infinito”. vc vai ter um container que contem as mensagens e vc vai adicionar as novas via javascript. o que vc vai precisar é de um serviço que retorne as ultimas mensagens baseadas em alguma coisa.
por exemplo vc pode retornar um JSON contento a lista de mensagens. cada mensagem tem uma serie de informacoes: quem mandou, data, etc. vc pode salvar a ultima data e perguntar "ei senhor servidor, tem alguma mensagem após a data X ? " que pode ser um timestamp em segundos de 1/1/1970, ou vc pode receber simplesmente um id ou contador de mensagens e ai pergunta “depois da mensagem X, tem algo a mais?”
e ai vc pode responder com os codigos de status http mais adequados.
Brigado pela ajuda, amigo !! Quanto ao que você falou no começo sobre forçar um reload da página, recarregar tudo… acho que não teria problema porque a página que iria recarregar em um Iframe !! E outra… dessas tarefas que você me explicou qual delas faz com que o servidor atualize com o client-side em tempo-real ? É utilizando Ajax ?? Agradeço as instruções que você me passou mas é porque meu projeto foi feito de outra forma (criando as mensagens em paginas HTML e exibindo em um Iframe) e eu não posso mudar muito !!
Ola
Ajax pode te ajudar. é bem melhor que fazer reload de qq coisa, seja iframe ou nao.
Obrigado pela força, amigo !!