Interface SocketFactory

    • Method Detail

      • createSocket

        Socket createSocket()
                     throws IOException
        Creates a new, unconnected socket. The socket should subsequently be passed to connectSocket.
        a new socket
        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,
        Connects a socket to the given host.
        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
        the connected socket. The returned object may be different from the sock argument if this factory supports a layered protocol.
        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
        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.

        sock - the connected socket to check
        true if the connection of the socket should be considered secure, or false if it should not
        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.