Credo sia l'unico modo che ti rimane. Oppure puoi provare a fare dei "ping" tra i client (magari solo se rimangono tot senza comunicare oppure se non è un problema li fai continui), ma sarebbe meglio che fosse il server a comunicarlo piuttosto che rischiare che tutti i client si "pinghino" l'uno con l'altro generando un sacco di traffico inutile... non mi pare un buon servizio se no.
Quello dipende sempre dal server, in realtà si può scegliere se mandarlo in broadcast oppure solo a gruppi o client singoli, ma dipende solo dal server.
Conosci net se non ricordo male, giusto? non ti conviene scriverti il codice server? così ci fai quello che ti pare. Dovresti trovare anche hosting free che permetto websocket (in genere chi supporta node js supporta anche websocket). Se usi net core puoi usare sia windows sia linux, ma per quest'ultimo a meno che non hai un po di controllo su esso sarà difficile trovare una configurazione adatta già pronta.
EDIT:
In ogni caso se usi net potresti passare a signalr (se usi net core è basato su websocket, mentre con la versione classica è basato sul long-polling) che è comunque supportato ovunque su hosting windows