O que é pesquisa longa?
Uma variação da técnica tradicional de pesquisa e permite a emulação de um envio de informações de um servidor para um cliente. Com a pesquisa longa, o cliente solicita informações do servidor de maneira semelhante a uma pesquisa normal.
- Se o servidor não tiver nenhuma informação disponível para o cliente, ao invés de enviar uma resposta vazia, o servidor retém a solicitação e aguarda que alguma informação esteja disponível.
Assim que as informações estiverem disponíveis (ou após um tempo limite adequado), uma resposta completa é enviada ao cliente. O cliente normalmente solicitará imediatamente novamente as informações do servidor, de modo que o servidor quase sempre terá uma solicitação em espera disponível que pode ser usada para entregar dados em resposta a um evento.
Em um contexto web / AJAX, long polling também é conhecido como programação Comet.
E sobre Websockets?
Os WebSockets fornecem uma conexão persistente entre um cliente e um servidor que ambas as partes podem usar para começar a enviar dados a qualquer momento.
- O cliente estabelece uma conexão WebSocket por meio de um processo conhecido como handshake WebSocket. Esse processo começa com o cliente enviando uma solicitação HTTP normal ao servidor.
- Um cabeçalho de atualização está incluído nesta solicitação que informa ao servidor que o cliente deseja estabelecer uma conexão WebSocket.
Conclusão :
Se houver necessidade de comunicação em tempo real pode muito bem optar por websockets.
Mas em Long Polling:
Uma conexão é mantida aberta entre o cliente da web e o servidor da web para que, quando o servidor tiver novas informações, ele possa enviá-las ao cliente. Esse pedido é então concluído. Uma nova solicitação é feita entre o cliente e o servidor e, em seguida, aguarda outra atualização do servidor. A mesma conexão TCP é geralmente aberta persistentemente em várias solicitações devido a keep-alives HTTP / 1.1.
Referências e outras considerações:
PubNub long polling vs sockets - duração da bateria móvel
O que são Long-Polling, Websockets, Server-Sent Events (SSE) e Comet?
longa sondagem no objetivo-C
Introdução ao Websocket
Websocket Vs Long Polling
Usando Websockets em aplicativos
Aplicativo Websocket
PushTechnology-Long Polling