title: How to keep HttpClient Connection Keep-Alive?
body: <p>I am working <code>HttpClient</code> POST method. I need to create <code>HttpClient</code> once and should use Keep Alive Connection. But I think in my case , its establishing a new connection every time.</p>
  
  <p>So, i need to use a <em>Keep Alive</em> connection for <code>HttpClient</code>.</p>
  
  <p>Here is my code snippet any help would be appreciated lot.</p>
  
  <pre><code>ClientConnectionManager mgr = httpclient_recv.getConnectionManager();
      hp = httpclient_recv.getParams();
      httpclient_recv = new DefaultHttpClient(
      new ThreadSafeClientConnManager(hp,mgr.getSchemeRegistry()), hp);
  
      while (true) {
  
          try {
  
              java.util.logging.Logger.getLogger("org.apache.http.wire")
                      .setLevel(java.util.logging.Level.FINER);
              java.util.logging.Logger.getLogger("org.apache.http.headers")
                      .setLevel(java.util.logging.Level.FINER);
  
              System.setProperty("org.apache.commons.logging.Log",
                      "org.apache.commons.logging.impl.SimpleLog");
              System.setProperty(
                      "org.apache.commons.logging.simplelog.showdatetime",
                      "true");
              System.setProperty(
                      "org.apache.commons.logging.simplelog.log.httpclient.wire",
                      "debug");
              System.setProperty(
                      "org.apache.commons.logging.simplelog.log.org.apache.http",
                      "debug");
              System.setProperty(
                      "org.apache.commons.logging.simplelog.log.org.apache.http.headers",
                      "debug");
  
              ByteArrayEntity bae = new ByteArrayEntity(byteData);
              bae.setContentType(new BasicHeader(HTTP.CONTENT_TYPE,
                      "binary/octet-stream"));
  
              httppost_recv.setHeader(HTTP.CONN_DIRECTIVE,HTTP.CONN_KEEP_ALIVE);
              httppost_recv.setEntity(bae);
  
  
  
              {
                  System.out.println("res b4 response");
                   response_recv = httpclient_recv
                          .execute(httppost_recv);
                   response_recv.getEntity().consumeContent();
                  System.out.println("res a4 response");
                  if (response_recv != null) {
                      byteArray = EntityUtils.toByteArray(response_recv
                              .getEntity());
                      playing  = true;
                  }
                          }
                   }
  </code></pre>
  
  <p>and also logcat logs is:</p>
  
  <pre class="lang-none prettyprint-override"><code>12-03 10:07:29.466: I/System.out(1529): res b4 response
  12-03 10:07:29.646: D/org.apache.http.wire(1529): &gt;&gt; "POST /ping HTTP/1.1[EOL]"
  12-03 10:07:29.666: D/org.apache.http.wire(1529): &gt;&gt; "Connection: Keep-Alive[EOL]"
  12-03 10:07:29.686: D/org.apache.http.wire(1529): &gt;&gt; "Content-Length: 1[EOL]"
  12-03 10:07:29.705: D/org.apache.http.wire(1529): &gt;&gt; "Content-Type: binary/octet-stream[EOL]"
  12-03 10:07:29.716: D/org.apache.http.wire(1529): &gt;&gt; "Host: 192.168.1.36[EOL]"
  12-03 10:07:29.725: D/org.apache.http.wire(1529): &gt;&gt; "User-Agent: Apache-HttpClient/UNAVAILABLE (java 1.4)[EOL]"
  12-03 10:07:29.736: D/org.apache.http.wire(1529): &gt;&gt; "[EOL]"
  12-03 10:07:29.746: D/org.apache.http.headers(1529): &gt;&gt; POST /ping HTTP/1.1
  12-03 10:07:29.746: D/org.apache.http.headers(1529): &gt;&gt; Connection: Keep-Alive
  12-03 10:07:29.756: D/org.apache.http.headers(1529): &gt;&gt; Content-Length: 1
  12-03 10:07:29.756: D/org.apache.http.headers(1529): &gt;&gt; Content-Type: binary/octet-stream
  12-03 10:07:29.765: D/org.apache.http.headers(1529): &gt;&gt; Host: 192.168.1.36
  12-03 10:07:29.765: D/org.apache.http.headers(1529): &gt;&gt; User-Agent: Apache-HttpClient/UNAVAILABLE (java 1.4)
  12-03 10:07:29.776: D/org.apache.http.wire(1529): &gt;&gt; "[0x0]"
  12-03 10:07:29.796: D/org.apache.http.wire(1529): &lt;&lt; "HTTP/1.1 200 OK[EOL]"
  12-03 10:07:29.805: D/org.apache.http.wire(1529): &lt;&lt; "Server: gSOAP/2.8[EOL]"
  12-03 10:07:29.816: D/org.apache.http.wire(1529): &lt;&lt; "Content-Type: binary/octet-stream[EOL]"
  12-03 10:07:29.826: D/org.apache.http.wire(1529): &lt;&lt; "Content-Length: 2048[EOL]"
  12-03 10:07:29.836: D/org.apache.http.wire(1529): &lt;&lt; **"Connection: close[EOL]"**
  12-03 10:07:29.887: D/org.apache.http.headers(1529): &lt;&lt; HTTP/1.1 200 OK
  12-03 10:07:29.896: D/org.apache.http.headers(1529): &lt;&lt; Server: gSOAP/2.8
  12-03 10:07:29.896: D/org.apache.http.headers(1529): &lt;&lt; Content-Type: binary/octet-stream
  12-03 10:07:29.906: D/org.apache.http.headers(1529): &lt;&lt; Content-Length: 2048
  12-03 10:07:29.906: D/org.apache.http.headers(1529): &lt;&lt; **Connection: close**
  12-03 10:07:29.916: I/System.out(1529): res a4 response
  </code></pre>