<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 5, 文章 - 0, 評(píng)論 - 0, 引用 - 0
    數(shù)據(jù)加載中……

    HttpAsyncClient

    HttpAsyncClient 是一個(gè)異步的 HTTP 客戶(hù)端開(kāi)發(fā)包,基于 HttpCore NIO 和 HttpClient 組件。
    HttpAsyncClient 的出現(xiàn)并不是為了替換 HttpClient,而是作為一個(gè)補(bǔ)充用于需要大量并發(fā)連接,對(duì)性能要求非常高的基于HTTP的原生數(shù)據(jù)通信,而且提供了事件驅(qū)動(dòng)的 API。

    代碼示例:

           public Vector<Long> Gets(List<String> urls)
    throws IOReactorException, InterruptedException {
    List<HttpGet> requests = new ArrayList<HttpGet>();
    for (String url : urls) {
    HttpGet get = new HttpGet(url);
    requests.add(get);
    }
    final Vector<Long> dataPackages = new Vector<Long>();
    HttpAsyncClient httpclient = new DefaultHttpAsyncClient();
    httpclient.getParams().setIntParameter("http.socket.timeout", 5000)
    .setIntParameter("http.connection.timeout", 5000)
    .setIntParameter("http.socket.buffer-size", 8192)
    .setBooleanParameter("http.tcp.nodelay", true);
    final CountDownLatch latch = new CountDownLatch(requests.size());
    httpclient.start();
    try {
    for (final HttpGet request : requests) {
    httpclient.execute(request, new FutureCallback<HttpResponse>() {

    @Override
    public void completed(HttpResponse result) {
    String statInfo = "";
    try {
    statInfo = result.getFirstHeader("statInfo").getValue();
    if (statInfo != null) {
    Long size = Long.parseLong(statInfo.split(",")[0].split(":")[1]);
    dataPackages.add(size);
    }
    } catch (Exception e) {
    System.out.println(e);
    System.out.println(statInfo);
    }
    latch.countDown();
    }

    @Override
    public void failed(Exception ex) {
    latch.countDown();
    }

    @Override
    public void cancelled() {
    latch.countDown();
    }
    });
    }
    latch.await();
    } finally {
    httpclient.shutdown();
    }
    return dataPackages;
    }

     


    依賴(lài)的pom,
    httpasyncclient已經(jīng)有4.0-beta3版本了
    <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpasyncclient</artifactId>
        <version>4.0-beta1</version>
    </dependency>
    <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpclient</artifactId>
        <version>4.2-beta1</version>
    </dependency>


    posted on 2012-11-26 10:46 莊主游驥 閱讀(625) 評(píng)論(0)  編輯  收藏


    只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 国产AⅤ无码专区亚洲AV| 卡1卡2卡3卡4卡5免费视频| 亚洲人妻av伦理| 色一情一乱一伦一视频免费看| 永久免费AV无码国产网站| 亚洲最大免费视频网| 妻子5免费完整高清电视| 亚洲人精品亚洲人成在线| 成人免费视频一区二区三区| 亚洲日韩国产一区二区三区在线| 好吊妞在线成人免费| 国产成人不卡亚洲精品91| 亚洲精品视频免费观看| 成人精品一区二区三区不卡免费看| 亚洲精品无码AV人在线播放| 拍拍拍无挡视频免费观看1000 | 99精品视频免费观看| 亚洲无线一二三四区| 成人无码区免费视频观看| 精品特级一级毛片免费观看| 久久久久一级精品亚洲国产成人综合AV区| 老司机免费午夜精品视频| 亚洲精品成人网站在线观看| 亚洲香蕉免费有线视频| 亚洲精品乱码久久久久久V| 亚洲免费无码在线| 91精品全国免费观看含羞草| 在线观看日本亚洲一区| 亚洲精品视频久久久| 99热这里有免费国产精品| 亚洲一区二区三区国产精华液| 亚洲精品无码久久毛片| 亚在线观看免费视频入口| 亚洲人成电影网站色| 亚洲精品无码久久一线| 无码一区二区三区免费视频| 日韩电影免费在线观看网址| 亚洲成年人免费网站| jjzz亚洲亚洲女人| 久久久久久精品成人免费图片| 粉色视频免费入口|