Checking for updates or receiving them

Polling is like checking a noticeboard every few minutes. An app asks a server for updates at regular intervals. Many checks find nothing, and a new update may not appear until the next check.

Streaming is like receiving each new notice when it is posted. The app keeps a connection open, and the server sends updates through it. Server-Sent Events send updates one way; WebSockets allow messages both ways.

When each works well

Polling works well for a report that changes only every few minutes. Streaming helps chats and live scores feel immediate, but the app must reconnect if the connection drops.