Di ':
- Ho un sito web che contiene un singolo interruttore a due stati.
- Al momento ci sono 2 (o più) clienti che visualizzano il sito.
e
- 1 client esegue il movimento dell'interruttore.
Come posso riflettere su tale cambiamento tra tutti quelli che attualmente visitano il sito?
Il modo più semplice a cui pensavo era di salvare lo stato corrente del lato server dello switch e invitare i client a inviare costantemente richieste AJAX chiedendo lo stato dello switch, che aggiorna.
Il problema con questo approccio è, soprattutto quando ci sono molti client, il server sarà costantemente spammato dalle richieste; anche se non è successo alcun cambiamento.
L'altro approccio che ho pensato è stato quello di notificare al server quando 1 cliente apporta una modifica e in qualche modo trasmettere quella modifica a tutti i client attualmente connessi.
Purtroppo, essendo HTTP senza stato, dovrei mantenere un elenco dei client attualmente connessi lato server. Non so come rileggerei quando un client non visualizza più la pagina, o come potrei inviare un messaggio a un client senza che prima inviasse una richiesta.
Qual è il modo più semplice per ottenere ciò che non si basa sui client che eseguono costantemente il polling del server?
Nel caso non sia ovvio, questo è un esempio molto semplificato. Il mio vero progetto è un gioco in cui ci saranno molte "opzioni", ognuna delle quali può contenere molti diversi stati possibili.