Existe uma diferença entre a pesca longa e o uso do cometa
-
24-09-2019 - |
Pergunta
Estou implementando um sistema em que preciso de atualizações em tempo real. Eu tenho olhado para certos cenários e entre todos estava o cometa. Implementando isso, não vejo como isso é diferente da de longa duração.
Nos dois casos, você deve enviar uma solicitação e, em seguida, o servidor envia uma resposta de volta. No navegador, você interpreta a resposta e inicia uma nova solicitação.
Então, por que devo usar o cometa se nos dois casos preciso abrir e fechar conexões.
Solução
Algum Cometa técnicas não Exigir que você abra constantemente novas solicitações (o iframe oculto em parte, por exemplo), a idéia é manter a solicitação aberta e fazer com que o servidor envie periodicamente dados. Mas isso não funciona bem em todos os principais navegadores sem (como um colaborador da Wikipedia colocou delicadamente) efeitos colaterais negativos, daí a técnica de pola longa. Mais no artigo vinculado.
Outras dicas
Como mencionado por Marcelo, Cometa é geralmente usado para descrever quaisquer técnicas para "streaming http", incluindo a longa polpa. Em alguns casos, o cometa também pode se referir mais especificamente ao Protocolo Bayeux. Por exemplo, o JQuery Comet O plug -in é deste protocolo. No site da Bayeux:
A entrega de mensagens assíncronas do servidor para um cliente da Web é frequentemente descrita como servidor-push. A combinação de técnicas de push do servidor com um aplicativo da Web Ajax foi chamada de cometa. O COMETD é um projeto da Fundação Dojo para fornecer múltipla implementação do protocolo Bayeux em várias linguagens de programação.
O Bayeux é uma tentativa de padronizar um protocolo de publicação/inscrição usando técnicas de cometa, permitindo que fornecedores de bibliotecas do lado do cliente e do servidor criem componentes interoperáveis.
O Comet é um termo guarda-chuva para uma ampla gama de técnicas de atualização assíncrona, das quais a polpa longa é apenas uma.
Se você quiser empurrar a inspiração de puxar, você pode usar JPE.