Il problema della durata della batteria per il polling costante garantisce la logica / tempo extra per implementare una soluzione con le web socket?

3

Sono in procinto di progettare un'applicazione di chat con cordova per dispositivi Android. Ho fatto ricerche e sono giunto alla conclusione che ci sono due modi per farlo che potrebbero funzionare.

  1. WebSockets. Utilizzando websockets l'applicazione client potrebbe inviare un messaggio a un server web, il server Web potrebbe cercare l'indirizzo IP del destinatario all'interno di un database e inviare il messaggio al destinatario. Ciò richiederà molta più logica sul server, ma eliminerà la necessità di polling costante. Questo metodo richiederebbe anche un ciclo costante sul client che rilevasse le modifiche alla rete e inviasse l'indirizzo IP aggiornato al server web in modo che il server Web sapesse dove inviare il messaggio.
  2. Sondaggio costante. Fare in modo che l'applicazione client esegua costantemente il polling del server Web per gli aggiornamenti. Questo sarebbe il metodo più semplice in quanto la logica del server sarebbe limitata. Inoltre, non ci sarebbe bisogno di logica nell'applicazione per gestire il caso quando gli utenti cambiano rete. Tuttavia, il consenso comune è quello di stare lontano dai progetti che utilizzano il polling costante in quanto si tratta di un enorme drenaggio della durata della batteria del dispositivo.

La mia domanda è quindi: il problema della durata della batteria per il polling costante garantisce la logica / tempo extra per implementare una soluzione con websocket?

    
posta nullReference 05.08.2015 - 18:49
fonte

1 risposta

3

I web socket sono la scelta migliore

Il problema con il polling costante è che, analogamente all'invio di piccole raffiche di dati (il che equivale a dire), il tuo dispositivo entra in uno stato "inattivo" che deve "svegliarsi" tra i sondaggi. C'è un costo elevato associato alla connessione iniziale e questo costo viene ripetuto per ogni sondaggio eseguito. E questo aggiunge. Per un'applicazione di chat in cui è necessario eseguire il polling ogni pochi secondi per mantenerla reattiva esaurirai la batteria in pochissimo tempo.

Vedi anche questa risposta su android.SE

Le prese sul web non sono poi così difficili. Ci sono un sacco di librerie là fuori che possono aiutarti, e prenditi cura dei problemi che elencherai per te.

    
risposta data 06.08.2015 - 20:39
fonte

Leggi altre domande sui tag