𝗦𝗵𝗼𝗿𝘁 𝗣𝗼𝗹𝗹𝗶𝗻𝗴, 𝗟𝗼𝗻𝗴 𝗣𝗼𝗹𝗹𝗶𝗻𝗴, 𝗔𝗻𝗱 𝗦𝗦𝗘

Devi inviare dati da un server a un client. Ecco tre modi per farlo.

Short Polling

Pensa a un cliente in un ristorante. Il cliente chiede al cameriere ogni 5 secondi se il cibo è pronto.

Il cliente ripete questa domanda a intervalli regolari.

I problemi:

  • Troppe richieste colpiscono il tuo server.
  • Gli aggiornamenti sono ritardati. Se il cibo è pronto 1 secondo dopo una domanda, il cliente aspetta altri 4 secondi prima di chiedere di nuovo.
  • Spreca risorse di rete.

Long Polling

Il cliente chiede al cameriere: "Dimmi quando il mio cibo è pronto".

Il cameriere resta al tavolo e aspetta. Se lo chef finisce di preparare il cibo, il cameriere lo comunica immediatamente al cliente. Se il cibo richiede troppo tempo, il cameriere comunica al cliente che non è ancora pronto.

I problemi:

  • Le connessioni rimangono aperte per molto tempo.
  • Potresti incorrere in timeout di connessione.
  • È difficile gestire molti clienti contemporaneamente.

Server Sent Events (SSE)

Pensa ai prezzi delle azioni in tempo reale. Il client apre una connessione una sola volta. Il server mantiene questa connessione aperta. Ogni volta che un prezzo cambia, il server invia l'aggiornamento al client.

Fatti chiave:

  • Si tratta di una comunicazione unidirezionale.
  • I dati fluiscono solo dal server al client.
  • Il client non invia messaggi attraverso questa connessione.

Fonte: https://dev.to/guruharish_b/short-polling-long-polling-and-sse-20o5