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.
- 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.
- 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?