Cos'è il polling lungo?
Una variazione della tradizionale tecnica di polling e consente l'emulazione di un push di informazioni da un server a un client. Con il polling lungo, il client richiede informazioni dal server in modo simile a un normale polling.
- Se il server non ha alcuna informazione disponibile per il client, invece di inviare una risposta vuota, il server trattiene la richiesta e attende che alcune informazioni siano disponibili.
Una volta che le informazioni diventano disponibili (o dopo un opportuno timeout), viene inviata una risposta completa al cliente. Il client normalmente quindi ri-richiederà immediatamente le informazioni dal server, in modo che il server avrà quasi sempre una richiesta in attesa disponibile che può utilizzare per fornire i dati in risposta a un evento.
In un contesto web / AJAX, il polling lungo è anche noto come programmazione Comet.
E i Websocket?
I WebSocket forniscono una connessione persistente tra un client e un server che entrambe le parti possono utilizzare per iniziare a inviare dati in qualsiasi momento.
- Il client stabilisce una connessione WebSocket tramite un processo noto come handshake WebSocket. Questo processo inizia con il client che invia una normale richiesta HTTP al server.
- In questa richiesta è inclusa un'intestazione di aggiornamento che informa il server che il client desidera stabilire una connessione WebSocket.
Conclusione :
Se c'è bisogno di una comunicazione in tempo reale puoi benissimo optare per i websocket.
Ma in Long Polling:
Viene mantenuta aperta una connessione tra il client Web e il server Web in modo che quando il server dispone di nuove informazioni può inviarle al client. Quella richiesta è quindi terminata. Viene quindi effettuata una nuova richiesta tra il client e il server e quindi si attende un altro aggiornamento dal server. La stessa connessione TCP è generalmente aperta in modo persistente durante più richieste a causa di keep-alive HTTP / 1.1.
Riferimenti e altre considerazioni:
PubNub long polling vs socket - durata della batteria mobile
Cosa sono Long-Polling, Websocket, Server-Sent Events (SSE) e Comet?
lungo sondaggio nell'obiettivo-C
Introduzione a Websocket
Websocket Vs Long Polling
Utilizzo di Websocket nelle app
Applicazione Websocket
PushTechnology-Long Polling