Aggiorna automaticamente le informazioni sul client desktop quando sono presenti modifiche nel server

1

Sostanzialmente , ho un server remoto ospitato da qualche parte https://nnn.com

E poi ho NNN Desktop Client .

Il client desktop mostra information X .

Cambio information X da remote hosted server .

Come posso fare in modo che la information X visualizzata in Desktop Client sia automaticamente aggiornata ?

All'inizio pensavo che la soluzione fosse web-hooks , ma da quello che ho capito, il client desktop avrebbe quindi bisogno di un URL.

E poi ho pensato al client desktop che chiamava un endpoint dal server host remoto, controllando se ci sono aggiornamenti. Polling , in pratica. Ma non so se sia la strada giusta. E se lo è, controllo ogni 5 secondi? 1 minuto? Questo non lo so.

Qualsiasi aiuto o guida è apprezzato.

    
posta Rigo Sarmiento 05.12.2018 - 08:25
fonte

1 risposta

0

Si desidera mantenere aperta una connessione socket persistente in modo che il client desktop possa iscriversi a un canale di messaggi che il server pubblica. Approssimativamente il modello è quello di connettersi al proprio server (tramite un servizio di bilanciamento del carico, un fornitore di servizi cloud, qualunque sia) e mantenere attiva tale connessione fino a quando il client è interessato a ricevere gli aggiornamenti. Il client deve verificare periodicamente se ha ricevuto dati (anche se alcune librerie come Asso di Boost utilizzano le funzionalità a livello di sistema operativo per renderlo asincrono) e quindi agire su di esse.

Ad esempio, nel mondo web, è facile farlo con WebSockets, che dispone anche di buone librerie client disponibili per tutte le principali lingue.

Sarebbe anche vantaggioso evitare il polling sul lato server. Ad esempio, Postgres ha incorporato notifica asincrona . Quello che fai, esattamente, dipenderà dai particolari della tua soluzione di gestione dei dati.

    
risposta data 06.12.2018 - 10:47
fonte

Leggi altre domande sui tag