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