SocketFactory
public
interface
SocketFactory
org.apache.http.conn.scheme.SocketFactory |
This interface was deprecated
in API level 22.
Please use URL.openConnection()
instead.
Please visit this webpage
for further details.
A factory for creating and connecting sockets.
The factory encapsulates the logic for establishing a socket connection.
Both Object.equals()
and Object.hashCode()
must be overridden for the correct operation of some connection managers.
Summary
Public methods | |
---|---|
abstract
Socket
|
connectSocket(Socket sock, String host, int port, InetAddress localAddress, int localPort, HttpParams params)
Connects a socket to the given host. |
abstract
Socket
|
createSocket()
Creates a new, unconnected socket. |
abstract
boolean
|
isSecure(Socket sock)
Checks whether a socket provides a secure connection. |
Public methods
connectSocket
public abstract Socket connectSocket (Socket sock, String host, int port, InetAddress localAddress, int localPort, HttpParams params)
Connects a socket to the given host.
Parameters | |
---|---|
sock |
Socket : the socket to connect, as obtained from
createSocket .
null indicates that a new socket
should be created and connected. |
host |
String : the host to connect to |
port |
int : the port to connect to on the host |
localAddress |
InetAddress : the local address to bind the socket to, or
null for any |
localPort |
int : the port on the local machine,
0 or a negative number for any |
params |
HttpParams : additional parameters for connecting |
Returns | |
---|---|
Socket |
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 |
createSocket
public abstract Socket createSocket ()
Creates a new, unconnected socket.
The socket should subsequently be passed to
connectSocket
.
Returns | |
---|---|
Socket |
a new socket |
Throws | |
---|---|
IOException |
if an I/O error occurs while creating the socket |
isSecure
public abstract boolean isSecure (Socket sock)
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 cypher suite chosen for the connection.
Parameters | |
---|---|
sock |
Socket : the connected socket to check |
Returns | |
---|---|
boolean |
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. |