A factory for creating and connecting sockets.
The factory encapsulates the logic for establishing a socket connection.
must be overridden for the correct operation of some connection managers.
(Socket sock, String host, int port, InetAddress localAddress, int localPort, HttpParams params)
Connects a socket to the given host.
||the socket to connect, as obtained from
null indicates that a new socket
should be created and connected.
||the host to connect to
||the port to connect to on the host
||the local address to bind the socket to, or
null for any
||the port on the local machine,
0 or a negative number for any
parameters for connecting
- the connected socket. The returned object may be different
sock argument if this factory supports
a layered protocol.
Creates a new, unconnected socket.
The socket should subsequently be passed to
||if an I/O error occurs while creating the socket
Checks whether a socket provides a secure connection.
The socket must be
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 cypher suite chosen for the connection.
||the connected socket to check
true if the connection of the socket
should be considered secure, or
false if it should not
||if the argument is invalid, for example because it is
not a connected socket or was created by a different
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.