bate-papo em tempo real com notificações push
-
21-08-2019 - |
Pergunta
Eu estou trabalhando em uma funcionalidade messasing privado para o meu site, há uma maneira de obter notificações push a partir do servidor, que o usuário recebeu uma nova mensagem?
a única técnica que eu sei é para consultar constantemente o servidor via ajax para ver se há novas mensagens, e recarregar a janela do messenger, se necessário.
obrigado por qualquer feedback!
UPD: até agora as seguintes orientações foram identificados:
1) Comet
2) BOSH - bidirecional-córregos Ao longo Synchronous HTTP
3) XMPP - isso é o que o Google Talk é baseado em
Solução
Você pode querer olhar em XMPP e BOSH. Muito cometa como e ejabberd combinado com nginx pode manter 1000 de conexões em uma caixa muito pequena.
Dê uma olhada em um dos meus projetos www.vooices.us para ver o que temos feito com XMPP e BOSH.
http://github.com/ssoper/jquery-bosh/tree/master JQueryBosh - para permitir acesso rápido e fácil para XMPP através de HTTP
É relativly fácil de configurar e instalar.
Paul.
Outras dicas
Não há qualquer maneira para o servidor para informações impulso para o cliente, mas você pode sempre usar Comet . Sim, você seria interrogar o servidor, mas não constantemente. Você iria manter cada aberto conexão para cerca de 30 segundos (que é o intervalo que eu sempre vi usado) e, em seguida, abrir uma nova conexão quando necessário.
EDIT: Adobe Flash permite conexões persistentes para o servidor, para que você possa usá-lo. Consulte este artigo para mais detalhes.
Parece que o cometa provavelmente links para algumas coisas úteis (olhar para GTalk do Google):
Há um monte de boas bibliotecas que ajuda você a fazer isso
XMPP - BOSH é uma boa combinação que eu uso no meu site
servidores XMPP
ejabberd, Openfire eu uso ejabberd
Você pode usar Strophe juntamente com ejabberd a notificações de captura em javascript. Se você quiser enviar notificações a partir do código
Existem bibliotecas como JAXL e XMPPHP que permitem fazer isso, mas isso é em PHP.