Originariamente inviato da VaLvOnAuTa
[...]
A sto punto ho pensato due soluzioni.
1- I client hanno un timer che ogni tot millisecondi chiede info al server
2- Ogni client ha un server in ascolto ed il server ha un client (solo che questa soluzione è quantomeno macchinosa).

C'è qualche altra idea economica e conveniente?
Credo che tu abbia elencato le uniche due possibilità che hai a disposizione.

In fondo, se anche tu potessi inviare dati periodicamente dal server al client, non sarebbe nulla di diverso rispetto all'inoltrare semplicemente - attraverso un comando specifico - una richiesta da parte del client per ottenere l'informazione in esame.

Inoltre, questo potrebbe servirti a controllare dal lato server quali client sono ancora connessi e risultano non bloccati poichè continuano ad effettuare una specie di "ping" alla ricerca di eventi da gestire.

In sostanza, punterei - salvo restrizioni - sulla prima soluzione che hai proposto, ma non farei uso di un Timer, bensì dei thread, in modo che le richieste effettuate via socket non blocchino l'applicazione.

Ciao!