Qual è il modo migliore per sincronizzare l'ora di una partita di sport in diretta con la tua app?

1

Sto creando un'applicazione di punteggi live per Rugy League . Mostra i punteggi in tempo reale mentre si sta verificando una partita. In Rugby League il match clock può essere messo in pausa in qualsiasi momento durante la partita (simile al Basket).

Ho problemi a sincronizzare accuratamente la rappresentazione temporale di una corrispondenza nella mia app con il tempo di corrispondenza effettivo ottenuto da un feed live.

Attuazione

Quando si verifica una partita, recupero i dati da un feed live ogni 5 secondi. Questo feed contiene informazioni aggiornate come il tempo di partita, i punteggi ecc.

Nella mia app, avvio un match clock interno durante una partita dal vivo. La ragione di ciò è mostrare il tempo che spunta all'utente (00:01 .... 00:02 ... 00:03). Questo orologio interno continua a ticchettare, ma viene aggiornato ogni volta che ottengo nuove informazioni dal feed live. Il match clock interno può talvolta essere avanti / indietro rispetto al tempo di match effettivo e in questi casi viene corretto per riflettere il tempo di match effettivo.

Pubblicazioni

Il match clock interno salta avanti e indietro di tanto in tanto quando deve correggersi in base ai dati dal feed live.

Quindi il match clock interno può essere inaccurato di circa 10 secondi o anche di più a seconda dell'errore di rete o di altri fattori.

Il mio problema con questa implementazione è l'inaccuratezza dell'orologio interno (nell'app). Idealmente, "salta" di meno ed è sincronizzato con l'evento dal vivo.

Quindi, se hai mai dovuto fare qualcosa del genere, la domanda è: come hai sincronizzato la tua app con eventi sportivi dal vivo quando l'accuratezza del tempo è un fattore importante?

Apri a qualsiasi tecnica / concetto che puoi condividere.

    
posta Zee Zali 17.03.2016 - 02:57
fonte

2 risposte

1

L'unica vera soluzione a questo problema è spingere le informazioni invece di tirarle.

L'unico vero problema è quanta risorse ci vorrebbe sul server. Per mantenere tutti i client attuali e inviare un aggiornamento più volte al secondo, molta della CPU e della memoria e delle bilance peggiorano molto con il numero di client rispetto a quelle che si ottengono. Potresti provare a utilizzare qualche forma di trasmissione , ma sono scettico riguardo a tale soluzione esistente.

Quindi si tratta di costi / prestazioni: vale davvero la pena investire una così grande quantità di risorse nel fissare la balbuzie di tempo nella tua app?

    
risposta data 17.03.2016 - 08:41
fonte
0

Se hai bisogno di maggiore precisione, accorcia l'intervallo tra le acquisizioni dello schermo.

Passare da un aggiornamento di 5 secondi a 2 secondi darebbe 2,5 volte più precisione nei dati che stai visualizzando.

Anche data la velocità di elaborazione della maggior parte delle macchine moderne, dovresti essere in grado di gestire facilmente quella frequenza.

    
risposta data 17.03.2016 - 05:34
fonte

Leggi altre domande sui tag