Java Android:如何使用ThreadSafeClientConnectionMana­为SSL套接字设置超时以阻止读/写;盖尔?

Java Android:如何使用ThreadSafeClientConnectionMana­为SSL套接字设置超时以阻止读/写;盖尔?,java,android,Java,Android,如何使用ThreadSafeClientConnectionManaGet设置SSL套接字的超时以阻止读/写?我发现在读写SSL套接字时丢失网络连接会导致Android OS 2.2和2.3设备超时15分钟 我在HttpClient上设置了以下超时: mParams = new BasicHttpParams(); HttpProtocolParams.setVersion(mParams, HttpVersion.HTTP_1_1); HttpProtocolParam

如何使用ThreadSafeClientConnectionManaGet设置SSL套接字的超时以阻止读/写?我发现在读写SSL套接字时丢失网络连接会导致Android OS 2.2和2.3设备超时15分钟

我在HttpClient上设置了以下超时:

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

然后,我使用客户机对文件实体执行http put请求。如果我在上传过程中打开飞行模式,等待15-30秒,然后关闭飞行模式,插座将被卡在读或写模式中,并且不会超时15分钟。

不要回避你非常合理的问题,但博客文章建议将其用于新的开发。您考虑过切换API吗?

因为我们需要支持Froyo,而且该版本的HttpURLConnection存在问题,所以我们不会切换API。此外,我们在Apache客户机周围有大量定制代码,在HttpURLConnection中没有等效代码,直到ICS。不过还是谢谢你的建议。