Interface SocketFactory

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

@Deprecated public interface SocketFactory
Deprecated.
A factory for creating, initializing and connecting sockets. The factory encapsulates the logic for establishing a socket connection.
Since:
4.0
  • Method Summary

    Modifier and Type
    Method
    Description
    connectSocket(Socket sock, String host, int port, InetAddress localAddress, int localPort, HttpParams params)
    Deprecated.
    Connects a socket to the given host.
    Deprecated.
    Creates a new, unconnected socket.
    boolean
    Deprecated.
    Checks whether a socket provides a secure connection.
  • Method Details

    • 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, 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.