Visualizzazione dei dati in tempo reale sulla pagina Web [chiuso]
-
05-07-2019 - |
Domanda
Non sono sicuro di come formularlo nel modo migliore, ma quello che sto cercando è un modo per visualizzare i dati su una pagina Web non appena diventano disponibili. Esempi: visualizzazione dei messaggi del canale IRC su una pagina Web, quando un messaggio viene inviato a un canale IRC, il messaggio viene inviato alla pagina Web contemporaneamente (o con un ritardo molto breve). Oppure, quando i dati vengono inseriti nel database, vengono trasmessi contemporaneamente a una pagina Web (di nuovo o con pochissimo ritardo). Come viene implementata tale funzione? Una tale funzione può essere implementata con JS / JQuery? Suppongo di sì poiché è così che sembra funzionare Mibbit (AJAX). Un esempio o una spiegazione di pseudo-codice sarebbero apprezzati poiché non ho assolutamente idea di dove iniziare e di cosa ho bisogno.
Soluzione
Il termine è Comet
, ed è fondamentalmente solo un blocco di impostazione del codice da eseguire per sempre e eseguire il polling (inviare una richiesta HTTP) a intervalli per recuperare nuovi dati, se presenti, popolando un'area esistente con i nuovi dati.
Puoi leggere di più al riguardo:
Un tutorial (non il miglior stile di codice):
Domanda StackOverflow con un esempio:
Altri suggerimenti
Questo tipo di problema ha sempre due tipi di soluzione: poll o push.
Puoi eseguire il polling usando le tecniche AJAX O avere una connessione di lunga durata a un server che invia dati al client (COMET).
Se stai pensando di usare javascript, probabilmente avrai una classe timer che ogni tanto prenderà un aggiornamento usando ajax.