一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

HttpClient的3種超時(shí)

 淡淡的癡呆 2014-08-13

HttpClient的3種超時(shí)說(shuō)明

/* 從連接池中取連接的超時(shí)時(shí)間 */
ConnManagerParams.setTimeout(params,
1000);
/* 連接超時(shí) */
HttpConnectionParams.setConnectionTimeout(params,
2000);
/* 請(qǐng)求超時(shí) */
HttpConnectionParams.setSoTimeout(params,
4000);

 

第一行設(shè)置ConnectionPoolTimeout:這定義了從ConnectionManager管理的連接池中取出連接的超時(shí)時(shí)間,此處設(shè)置為1秒。

第二行設(shè)置ConnectionTimeout  這定義了通過(guò)網(wǎng)絡(luò)與服務(wù)器建立連接的超時(shí)時(shí)間。Httpclient包中通過(guò)一個(gè)異步線程去創(chuàng)建與服務(wù)器的socket連接,這就是該socket連接的超時(shí)時(shí)間,此處設(shè)置為2秒。

第三行設(shè)置SocketTimeout    這定義了Socket讀數(shù)據(jù)的超時(shí)時(shí)間,即從服務(wù)器獲取響應(yīng)數(shù)據(jù)需要等待的時(shí)間,此處設(shè)置為4秒。

示例1

package edu.cdut.robin;
import org.apache.http.HttpVersion;
import org.apache.http.client.HttpClient;
import org.apache.http.conn.ClientConnectionManager;
import org.apache.http.conn.params.ConnManagerParams;
import org.apache.http.conn.scheme.PlainSocketFactory;
import org.apache.http.conn.scheme.Scheme;
import org.apache.http.conn.scheme.SchemeRegistry;
import org.apache.http.conn.ssl.SSLSocketFactory;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager;
import org.apache.http.params.BasicHttpParams;
import org.apache.http.params.HttpConnectionParams;
import org.apache.http.params.HttpParams;
import org.apache.http.params.HttpProtocolParams;
import org.apache.http.protocol.HTTP;
public class CustomerHttpClient
{
    private static final String CHARSET = HTTP.UTF_8;
    private static HttpClient customerHttpClient;
    private CustomerHttpClient()
    {
    }
    public static synchronized HttpClient getHttpClient()
    {
        if (null == customerHttpClient)
        {
            HttpParams params = new BasicHttpParams();
            /* 設(shè)置一些基本參數(shù) */
            HttpProtocolParams.setVersion(params, HttpVersion.HTTP_1_1);
            HttpProtocolParams.setContentCharset(params, CHARSET);
            HttpProtocolParams.setUseExpectContinue(params, true);
            HttpProtocolParams
                    .setUserAgent(
                            params,
                            "Mozilla/5.0(Linux;U;Android 2.2.1;en-us;Nexus One Build.FRG83) "
                                    + "AppleWebKit/553.1(KHTML,like Gecko) Version/4.0 Mobile Safari/533.1");
            /* 超時(shí)設(shè)置 */
            /* 從連接池中取連接的超時(shí)時(shí)間 */
            ConnManagerParams.setTimeout(params, 1000);
            /* 連接超時(shí) */
            HttpConnectionParams.setConnectionTimeout(params, 2000);
            /* 請(qǐng)求超時(shí) */
            HttpConnectionParams.setSoTimeout(params, 4000);
            /* 設(shè)置我們的HttpClient支持HTTP和HTTPS兩種模式 */
            SchemeRegistry schReg = new SchemeRegistry();
            schReg.register(new Scheme("http", PlainSocketFactory
                    .getSocketFactory(), 80));
            schReg.register(new Scheme("https", SSLSocketFactory
                    .getSocketFactory(), 443));
            /* 使用線程安全的連接管理來(lái)創(chuàng)建HttpClient */
            ClientConnectionManager conMgr = new ThreadSafeClientConnManager(
                    params, schReg);
            customerHttpClient = new DefaultHttpClient(conMgr, params);
        }
        return customerHttpClient;
    }
}


示例2

void doHttpGet(String userAgent, Context context, String uri)
    {
        AndroidHttpClient client = null;
        client = AndroidHttpClient.newInstance(userAgent, context);
        HttpParams params = client.getParams();
        HttpConnectionParams.setConnectionTimeout(params, 30000);
        HttpConnectionParams.setSoTimeout(params, 60000);
        HttpClientParams.setRedirecting(params, true);
        HttpClientParams.setAuthenticating(params, false);
        HttpResponse response;
        HttpGet request = new HttpGet(uri);
        try
        {
            response = client.execute(request);
        } catch (IllegalArgumentException ex)
        {
        } catch (IOException ex)
        {
        }
    }

結(jié)束!

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    亚洲国产精品久久综合网 | 青青操日老女人的穴穴| 欧美av人人妻av人人爽蜜桃| 国产激情一区二区三区不卡| 99久久国产精品亚洲| 99视频精品免费视频播放| 日韩一区二区三区四区乱码视频| 欧美一级特黄大片做受大屁股| 99精品国产自在现线观看| 91偷拍视频久久精品| 精品久久av一二三区| 欧洲自拍偷拍一区二区| 黄男女激情一区二区三区| 日韩成人中文字幕在线一区| 亚洲天堂精品在线视频| 又色又爽又黄的三级视频| 91午夜少妇极品福利| 日木乱偷人妻中文字幕在线| 午夜国产精品国自产拍av| 东京热加勒比一区二区三区| 亚洲黄香蕉视频免费看| 少妇肥臀一区二区三区| 老鸭窝精彩从这里蔓延| 91欧美一区二区三区成人| 真实国产乱子伦对白视频不卡| 亚洲色图欧美另类人妻| 国产在线视频好看不卡| 高清一区二区三区大伊香蕉| 中文字幕精品少妇人妻| 国产精品一区二区有码| 中文文精品字幕一区二区| 免费播放一区二区三区四区| 国产精品免费无遮挡不卡视频| 亚洲精品国男人在线视频| 国产激情一区二区三区不卡| 国产a天堂一区二区专区| 亚洲高清中文字幕一区二三区| 91人妻丝袜一区二区三区| 亚洲精品偷拍一区二区三区| 老司机精品一区二区三区| 欧美午夜一区二区福利视频|