Abbiamo recuperato con successo dati da un server Web con URL HTTP per quasi 2 anni senza alcun problema.Errore I/O durante la chiamata di sistema, Connessione ripristinata dal peer
Nel passato recente abbiamo migrato a HTTPS per qualche motivo di sicurezza. E questo è quando il problema è sbocciato.
Con WiFi funziona tutto bene, quando mi collego a dati pocket 2G periodicamente sto ricevendo il reset della connessione dal problema del server.
Sto utilizzando DefaultHttpClient per connettersi al server.
Ho provato molte cose in giro ma nulla mi ha salvato.
ho applicato tutte le proprietà disponibili per HttpConnectionParams
HttpConnectionParams.setConnectionTimeout(httpClient.getParams(),120000); HttpConnectionParams.setSoTimeout(httpClient.getParams(), 120000); HttpConnectionParams.setLinger(httpClient.getParams(), 120000); HttpConnectionParams.setTcpNoDelay(httpClient.getParams(), true); HttpConnectionParams.setStaleCheckingEnabled(httpClient.getParams(), false);
E un altro gruppo di discussione di Google hanno suggerito che questo problema potrebbe essere una causa di stato ideale di un'attività. Quindi ho implementato qualcosa di simile per mantenere lo schermo sveglio.
powerManager = (PowerManager) getSystemService(Context.POWER_SERVICE); wakeLock = powerManager.newWakeLock(PowerManager.FULL_WAKE_LOCK,"My Tag"); wakeLock.acquire();
E alla onDestroy()
ho rilasciato con wakeLock.release();
Ma anche questo non ha aiutato.
E c'è qualcos'altro che devo controllare alla fine del server?
Sto affrontando lo stesso problema usando twitter4j API per lo sviluppo di un'applicazione Android. Mentre si utilizza il wifi, tutto funziona correttamente ma quando si passa a 2g, questo problema si verifica spesso. – sahu
Come hai risolto questo? Sto riscontrando un problema simile con il retrofit e okhttp – Rickster
Questo problema non è stato ancora risolto da Android. ! Ma pochi interventi nel servizio web hanno ridotto il rapporto di occorrenza. Hanno semplicemente ottimizzato il modo in cui recuperano dal DB. – MohanRaj