org.apache.http.conn.scheme

## Interface SocketFactory

- All Known Subinterfaces:
    LayeredSocketFactory
  All Known Implementing Classes:
    MultihomePlainSocketFactory, PlainSocketFactory, SSLSocketFactory

  Deprecated.
  (4.1) use `SchemeSocketFactory`

      @Deprecated
      public interface SocketFactory

  A factory for creating, initializing and connecting sockets. The factory encapsulates the logic for establishing a socket connection.
  Since:
    4.0

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `Socket` | `connectSocket(Socket sock, String host, int port, InetAddress localAddress, int localPort, org.apache.http.params.HttpParams params)` Deprecated. Connects a socket to the given host.
    `Socket` | `createSocket()` Deprecated. Creates a new, unconnected socket.
    `boolean` | `isSecure(Socket sock)` Deprecated. Checks whether a socket provides a secure connection.

- - ### Method Detail

    - #### createSocket

          Socket createSocket()
                              throws IOException

      Deprecated.
      Creates a new, unconnected socket. The socket should subsequently be passed to `connectSocket`.
      Returns:
        a new socket
      Throws:
        `IOException` - if an I/O error occurs while creating the socket

    - #### connectSocket

          Socket connectSocket(Socket sock,
                             String host,
                             int port,
                             InetAddress localAddress,
                             int localPort,
                             org.apache.http.params.HttpParams params)
                               throws IOException,
                                      UnknownHostException,
                                      ConnectTimeoutException

      Deprecated.
      Connects a socket to the given host.
      Parameters:
        `sock` - the socket to connect, as obtained from `createSocket`. `null` indicates that a new socket should be created and connected.
        `host` - the host to connect to
        `port` - the port to connect to on the host
        `localAddress` - the local address to bind the socket to, or `null` for any
        `localPort` - the port on the local machine, 0 or a negative number for any
        `params` - additional `parameters` for connecting
      Returns:
        the connected socket. The returned object may be different from the `sock` argument if this factory supports a layered protocol.
      Throws:
        `IOException` - if an I/O error occurs
        `UnknownHostException` - if the IP address of the target host can not be determined
        `ConnectTimeoutException` - if the socket cannot be connected within the time limit defined in the `params`

    - #### isSecure

          boolean isSecure(Socket sock)
                           throws IllegalArgumentException

      Deprecated.
      Checks whether a socket provides a secure connection. The socket must be `connected` by this factory. The factory will not perform I/O operations in this method.

      As a rule of thumb, plain sockets are not secure and TLS/SSL sockets are secure. However, there may be application specific deviations. For example, a plain socket to a host in the same intranet ("trusted zone") could be considered secure. On the other hand, a TLS/SSL socket could be considered insecure based on the cipher suite chosen for the connection.

      Parameters:
        `sock` - the connected socket to check
      Returns:
        `true` if the connection of the socket should be considered secure, or `false` if it should not
      Throws:
        `IllegalArgumentException` - if the argument is invalid, for example because it is not a connected socket or was created by a different socket factory. Note that socket factories are not required to check these conditions, they may simply return a default value when called with an invalid socket argument.

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