2012-02-08 34 views
7

Làm cách nào tôi có thể đặt thời gian chờ cho các ổ cắm SSL để đọc/ghi chặn bằng cách sử dụng ThreadSafeClientConnectionManaget? Tôi đã thấy rằng mất kết nối mạng trong khi đọc hoặc viết một ổ cắm SSL kết quả trong một thời gian chờ 15 phút trên hệ điều hành Android 2.2 và 2.3 thiết bị.Android: Làm thế nào tôi có thể thiết lập một thời gian chờ cho các ổ cắm SSL để chặn đọc/ghi bằng cách sử dụng ThreadSafeClientConnectionManager?

tôi đặt timeout sau trên HttpClient tôi:

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); 

sau đó tôi sử dụng máy khách để thực hiện một yêu cầu HTTP PUT với một tổ chức tập tin. Nếu tôi bật chế độ trên máy bay ở giữa tải lên, hãy đợi 15-30 giây và sau đó tắt chế độ trên máy bay, ổ cắm sẽ bị kẹt trong khi đọc hoặc ghi và sẽ không hết thời gian chờ trong 15 phút.

Trả lời

1

Không được xoay vòng khỏi câu hỏi rất hợp pháp của bạn, nhưng bài đăng trên blog Android's HTTP Clients khuyên bạn nên sử dụng HttpURLConnection để phát triển mới. Bạn đã xem xét chuyển đổi API chưa?

+0

Vì chúng tôi cần hỗ trợ Froyo và có vấn đề với HttpURLConnection trên bản phát hành đó, chúng tôi sẽ không chuyển đổi API. Ngoài ra, chúng tôi có một số lượng lớn mã tùy chỉnh xung quanh ứng dụng khách Apache không có tương đương trong HttpURLConnection cho đến ICS. Cảm ơn cho đề nghị anyway mặc dù. – Todd

Các vấn đề liên quan