Ciao,
Puoi fare in diversi modi, alcuni dei quali già suggeriti come ad esempio fare chiamate multiple tramite Ajax, ma questo mette un sovraccarico sul server, in quanto le chiamate sono brevi e frequenti ed ogni volta si inviano anche tutte le intestazioni, ma sino a una decina di anni fa era l'unica soluzione oltre all'auto-refresh della pagina (terribile).
Un altra soluzione è usare il long polling, in questo caso la connessione viene stabilita e rimane aperta "per un po" in attesa di eventuale risposta e poi si chiude e si riapre subito dopo e ricomincia, le intestazioni vengono inviate comunque ma le chiamate sono decisamente meno.
Infine c'è un metodo molto più moderno che riguarda le WebSocket, in questo caso la connessione è bilaterale e continua, in questo modo una volta aperta la connessione rimane in attesa e sia il server che il client possono inviarsi messaggi in qualsiasi momento.
Chiaramente dipende anche da quali client vuoi supportare, possiamo dire che in base alla "modernità" del metodo che scegli i client supportati possono essere da i più vecchi ai più moderni.