org.apache.http.impl.conn

## Class DefaultClientConnection

- java.lang.Object
- - org.apache.http.impl.AbstractHttpClientConnection
  - - org.apache.http.impl.SocketHttpClientConnection
    - - org.apache.http.impl.conn.DefaultClientConnection

- All Implemented Interfaces:
    Closeable ， AutoCloseable ， ManagedHttpClientConnection ， OperatedClientConnection ， HttpClientConnection ， HttpConnection ， HttpInetConnection ， HttpContext

  已过时。
  （4.3）使用`ManagedHttpClientConnectionFactory` 。

      @Deprecated
      public class DefaultClientConnection
      extends SocketHttpClientConnection
      implements OperatedClientConnection, ManagedHttpClientConnection, HttpContext

  操作客户端连接的默认实现。
  从以下版本开始：
    4

- - ### Field Summary

    - ### Fields inherited from interface org.apache.http.protocol.HttpContext

      `RESERVED_PREFIX`

  - ### 构造方法摘要

    构造方法
    Constructor and Description
    `DefaultClientConnection()` 已过时。

  - ### 方法摘要

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `bind(Socket socket)` 已过时。 将此连接绑定到给定的套接字。
    `void` | `close()` 已过时。
    `protected HttpMessageParser<HttpResponse>` | `createResponseParser(SessionInputBuffer buffer, HttpResponseFactory responseFactory, HttpParams params)` 已过时。
    `protected SessionInputBuffer` | `createSessionInputBuffer(Socket socket, int buffersize, HttpParams params)` 已过时。
    `protected SessionOutputBuffer` | `createSessionOutputBuffer(Socket socket, int buffersize, HttpParams params)` 已过时。
    `Object` | `getAttribute(String id)` 已过时。
    `String` | `getId()` 已过时。 返回连接管理器的使用寿命期望为唯一的连接ID。
    `Socket` | `getSocket()` 已过时。 获取此连接的套接字。
    `SSLSession` | `getSSLSession()` 已过时。 获取底层连接的SSL会话（如果有）。
    `HttpHost` | `getTargetHost()` 已过时。 获取此连接的目标主机。
    `boolean` | `isSecure()` 已过时。 指示此连接是否安全。
    `void` | `openCompleted(boolean secure, HttpParams params)` 已过时。 表示连接已成功打开。
    `void` | `opening(Socket sock, HttpHost target)` 已过时。 表示此连接正在打开。
    `HttpResponse` | `receiveResponseHeader()` 已过时。
    `Object` | `removeAttribute(String id)` 已过时。
    `void` | `sendRequestHeader(HttpRequest request)` 已过时。
    `void` | `setAttribute(String id, Object obj)` 已过时。
    `void` | `shutdown()` 已过时。 强制关闭此连接。
    `void` | `update(Socket sock, HttpHost target, boolean secure, HttpParams params)` 已过时。 更新此连接。

    - ### Methods inherited from class org.apache.http.impl.SocketHttpClientConnection

      `assertNotOpen, assertOpen, bind, getLocalAddress, getLocalPort, getRemoteAddress, getRemotePort, getSocketTimeout, isOpen, setSocketTimeout, toString`

    - ### Methods inherited from class org.apache.http.impl.AbstractHttpClientConnection

      `createConnectionMetrics, createEntityDeserializer, createEntitySerializer, createHttpResponseFactory, createRequestWriter, doFlush, flush, getMetrics, init, isEof, isResponseAvailable, isStale, receiveResponseEntity, sendRequestEntity`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface org.apache.http.HttpClientConnection

      `flush, isResponseAvailable, receiveResponseEntity, sendRequestEntity`

    - ### Methods inherited from interface org.apache.http.HttpInetConnection

      `getLocalAddress, getLocalPort, getRemoteAddress, getRemotePort`

    - ### Methods inherited from interface org.apache.http.HttpConnection

      `getMetrics, getSocketTimeout, isOpen, isStale, setSocketTimeout`

- - ### 构造方法详细信息

    - #### DefaultClientConnection

          public DefaultClientConnection()

      已过时。

  - ### 方法详细信息

    - #### getId

          public String getId()

      已过时。
      说明从界面： `ManagedHttpClientConnection`复制
      返回连接管理器的使用寿命期望为唯一的连接ID。
      Specified by:
        `getId`在界面 `ManagedHttpClientConnection`

    - #### getTargetHost

          public final HttpHost getTargetHost()

      已过时。
      说明从界面： `OperatedClientConnection`复制
      获取此连接的目标主机。 如果连接是代理但不是隧道，这是代理。 如果通过代理隧道连接，这是隧道的目标。

      只有当连接打开时，返回值才被明确定义。 即使连接打开，也可能会改变，因为`update` 。

      Specified by:
        `getTargetHost`在界面 `OperatedClientConnection`
      结果
        打开此连接的主机

    - #### isSecure

          public final boolean isSecure()

      已过时。
      说明从界面： `OperatedClientConnection`复制
      指示此连接是否安全。 只有当连接打开时，返回值才被明确定义。 因为`update` ，连接打开时也可能发生变化。
      Specified by:
        `isSecure`在界面 `OperatedClientConnection`
      结果
        `true`如果这个连接是安全的， `false`否则

    - #### getSocket

          public final Socket getSocket()

      已过时。
      描述从界面： `OperatedClientConnection`复制
      获取此连接的套接字。 只有当连接打开时，返回值才被明确定义。 因为`update` ，连接打开时也可能发生变化。
      Specified by:
        `getSocket`在界面 `ManagedHttpClientConnection`
      Specified by:
        `getSocket`在界面 `OperatedClientConnection`
      重写：
        `getSocket`在 `SocketHttpClientConnection`
      结果
        用于与 `target host`通信的插座

    - #### getSSLSession

          public SSLSession getSSLSession()

      已过时。
      说明从界面： `ManagedHttpClientConnection`复制
      获取底层连接的SSL会话（如果有）。 如果此连接已打开，并且底层套接字为`SSLSocket` ，则会获取该套接字的SSL会话。 这是一个潜在的阻塞操作。
      Specified by:
        `getSSLSession`在界面 `ManagedHttpClientConnection`
      结果
        底层SSL会话（如果可用），否则为 `null`

    - #### opening

          public void opening(Socket sock,
                     HttpHost target)
                       throws IOException

      已过时。
      说明从界面： `OperatedClientConnection`复制
      表示此连接正在打开。

      通过调用此方法，可以在调用`OperatedClientConnection.openCompleted(boolean, org.apache.http.params.HttpParams)`之前，使用新的Socket实例重新初始化连接。 如果在完全打开之前调用`shutdown` ，这将使连接关闭该套接字。 关闭未连接的套接字将中断连接上被阻塞的线程。 否则，该线程将超时连接，或者它成功返回，然后打开刚刚关闭的连接。

      如果连接分层在另一个协议上，则可以多次调用此方法。 注意：此方法不会关闭以前使用的套接字。 如果不再需要，则主叫方有义务关闭该套接字。

      调用者必须调用`OperatedClientConnection.openCompleted(boolean, org.apache.http.params.HttpParams)`才能完成此过程。

      Specified by:
        `opening`在界面 `OperatedClientConnection`
      参数
        `sock` - 即将要连接的未连接的套接字。
        `target` - 此连接的目标主机
      异常
        `IOException`

    - #### openCompleted

          public void openCompleted(boolean secure,
                           HttpParams params)
                             throws IOException

      已过时。
      描述从界面： `OperatedClientConnection`复制
      表示连接已成功打开。 尝试在打开的连接上调用此方法将导致异常。
      Specified by:
        `openCompleted`在界面 `OperatedClientConnection`
      参数
        `secure` - `true`如果此连接是安全的，例如，如果使用 `SSLSocket` ，或 `false`如果它不安全
        `params` - 此连接的参数。 创建依赖对象时将使用参数，例如确定缓冲区大小。
      异常
        `IOException`

    - #### shutdown

          public void shutdown()
                        throws IOException

      已过时。
      强制关闭此连接。 如果连接仍处于打开状态（方法`opening`已被调用但`openCompleted`未被），则连接到远程地址的相关套接字将被关闭。 这将中断一个在连接套接字时阻塞的线程。 如果连接尚未打开，这将阻止连接被打开。
      Specified by:
        `shutdown`在界面 `HttpConnection`
      重写：
        `shutdown`在 `SocketHttpClientConnection`
      异常
        `IOException` - 出现问题时

    - #### close

          public void close()
                     throws IOException

      已过时。
      Specified by:
        `close`在界面 `Closeable`
      Specified by:
        `close`在界面 `AutoCloseable`
      Specified by:
        `close`在界面 `HttpConnection`
      重写：
        `close`在 `SocketHttpClientConnection`
      异常
        `IOException`

    - #### createSessionInputBuffer

          protected SessionInputBuffer createSessionInputBuffer(Socket socket,
                                                    int buffersize,
                                                    HttpParams params)
                                                         throws IOException

      已过时。
      重写：
        `createSessionInputBuffer`在类 `SocketHttpClientConnection`
      异常
        `IOException`

    - #### createSessionOutputBuffer

          protected SessionOutputBuffer createSessionOutputBuffer(Socket socket,
                                                      int buffersize,
                                                      HttpParams params)
                                                           throws IOException

      已过时。
      重写：
        `createSessionOutputBuffer`在 `SocketHttpClientConnection`
      异常
        `IOException`

    - #### createResponseParser

          protected HttpMessageParser<HttpResponse> createResponseParser(SessionInputBuffer buffer,
                                                             HttpResponseFactory responseFactory,
                                                             HttpParams params)

      已过时。
      重写：
        `createResponseParser`在 `AbstractHttpClientConnection`

    - #### bind

          public void bind(Socket socket)
                    throws IOException

      已过时。
      说明从界面： `ManagedHttpClientConnection`复制
      将此连接绑定到给定的套接字。 如果连接被绑定并且底层套接字连接到远程主机，则该连接被视为已打开。
      Specified by:
        `bind`在界面 `ManagedHttpClientConnection`
      参数
        `socket` - 将连接绑定到的套接字。
      异常
        `IOException`

    - #### update

          public void update(Socket sock,
                    HttpHost target,
                    boolean secure,
                    HttpParams params)
                      throws IOException

      已过时。
      说明从界面： `OperatedClientConnection`复制
      更新此连接。 连接只有在打开时才能更新。 更新例如在建立隧道时或TLS / SSL连接分层在普通套接字连接之上时使用。

      注意：更新连接将不会关闭以前使用的套接字。 如果不再需要，则主叫方有义务关闭该套接字。

      Specified by:
        `update`在界面 `OperatedClientConnection`
      参数
        `sock` - 用于与目标主机通信的新插座，或`null`继续使用旧套接字。 如果传递`null` ，则应重新使用依赖套接字的帮助对象。 在这种情况下，参数中的某些更改将不会生效。
        `target` - 这个连接的新目标主机
        `secure` - `true`如果此连接现在是安全的， `false`如果它不安全
        `params` - 此连接的新参数
      异常
        `IOException`

    - #### receiveResponseHeader

          public HttpResponse receiveResponseHeader()
                                             throws HttpException,
                                                    IOException

      已过时。
      Specified by:
        `receiveResponseHeader`在界面 `HttpClientConnection`
      重写：
        `receiveResponseHeader`在 `AbstractHttpClientConnection`
      异常
        `HttpException`
        `IOException`

    - #### sendRequestHeader

          public void sendRequestHeader(HttpRequest request)
                                 throws HttpException,
                                        IOException

      已过时。
      Specified by:
        `sendRequestHeader`在界面 `HttpClientConnection`
      重写：
        `sendRequestHeader`在 `AbstractHttpClientConnection`
      异常
        `HttpException`
        `IOException`

    - #### getAttribute

          public Object getAttribute(String id)

      已过时。
      Specified by:
        `getAttribute`在界面 `HttpContext`

    - #### removeAttribute

          public Object removeAttribute(String id)

      已过时。
      Specified by:
        `removeAttribute`在接口 `HttpContext`

    - #### setAttribute

          public void setAttribute(String id,
                          Object obj)

      已过时。
      Specified by:
        `setAttribute`在界面 `HttpContext`

Copyright © 1999–2017 The Apache Software Foundation. All rights reserved.

本帮助文档是使用 《谷歌翻译》翻译，请与英文版配合使用 by--QQ:654638585