2012-02-08 11 views
7

ThreadSafeClientConnectionManaget'i kullanarak bir engelleme okuma/yazma için SSL soketleri için zaman aşımı nasıl ayarlayabilirim? Bir SSL soketi okurken veya yazarken ağ bağlantısının kaybedilmesinin Android OS 2.2 ve 2.3 aygıtlarında 15 dakikalık bir zaman aşımıyla sonuçlandığını buldum. Sonra bir dosya varlık ile bir http koymak isteği gerçekleştirmek için istemcisi kullanıyorsanızAndroid: ThreadSafeClientConnectionManager kullanarak bir engelleme okuma/yazma için SSL soketleri için bir zaman aşımı nasıl ayarlayabilirim?

mParams = new BasicHttpParams(); 
    HttpProtocolParams.setVersion(mParams, HttpVersion.HTTP_1_1); 
    HttpProtocolParams.setContentCharset(mParams, "UTF-8"); 
    HttpProtocolParams.setUserAgent(mParams, USER_AGENT); 

    HttpConnectionParams.setConnectionTimeout(mParams, TIME_OUT); 
    HttpConnectionParams.setSoTimeout(mParams, TIME_OUT); 

    ConnManagerParams.setTimeout(mParams, TIME_OUT); 

    final SchemeRegistry registry = new SchemeRegistry(); 
    registry.register(new Scheme(HTTP_SCHEME, PlainSocketFactory.getSocketFactory(), 80)); 
    registry.register(new Scheme(HTTPS_SCHEME, SSLSocketFactory.getSocketFactory(), 443)); 

    final ThreadSafeClientConnManager manager = new ThreadSafeClientConnManager(mParams, registry); 

    mClient = new DefaultHttpClient(manager, mParams); 

:

benim httpclient aşağıdaki zaman aşımı ayarlamak. Yükleme modunun ortasında uçak modunu açarsam 15-30 saniye bekleyin ve ardından uçak modunu kapatın, soket okunacak veya yazılacak ve 15 dakika zaman aşımına uğramayacaktır.

cevap

1

Çok meşru sorusundan uzaklaşmak için değil, ancak Android's HTTP Clients blog yazısı, yeni geliştirme için HttpURLConnection kullanılmasını önerir. Anahtarlama API'larını düşündünüz mü?

+0

Froyo'yu desteklememiz gerektiğinden ve bu sürümde HttpURLConnection ile ilgili sorunlar olduğundan API'ları değiştirmeyeceğiz. Buna ek olarak, ICS'ye kadar HttpURLConnection'da eşdeğeri olmayan Apache istemcisi etrafında iyi miktarda özel kodumuz var. Yine de öneriniz için teşekkürler. – Todd

İlgili konular