Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)   
Deprecated in [API level 22](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) Summary: [Methods](https://developer.android.com/reference/org/apache/http/conn/scheme/LayeredSocketFactory#pubmethods) \| [Inherited Methods](https://developer.android.com/reference/org/apache/http/conn/scheme/LayeredSocketFactory#inhmethods)

# LayeredSocketFactory

` public interface LayeredSocketFactory `   
` implements https://developer.android.com/reference/org/apache/http/conn/scheme/SocketFactory `

|---|
| org.apache.http.conn.scheme.LayeredSocketFactory |

Known indirect subclasses [SSLSocketFactory](https://developer.android.com/reference/org/apache/http/conn/ssl/SSLSocketFactory) [SSLSocketFactory](https://developer.android.com/reference/org/apache/http/conn/ssl/SSLSocketFactory) *This class was deprecated in API level 22. Please use `https://developer.android.com/reference/java/net/URL#openConnection()` instead. Please visit [this webpage](http://android-developers.blogspot.com/2011/09/androids-http-clients.html) for further details.*   

*** ** * ** ***

<br />

**This interface was deprecated in API level 22.**   

Please use `https://developer.android.com/reference/java/net/URL#openConnection()` instead. Please visit [this webpage](http://android-developers.blogspot.com/2011/09/androids-http-clients.html) for further details.

A `https://developer.android.com/reference/org/apache/http/conn/scheme/SocketFactory` for layered sockets (SSL/TLS). See there for things to consider when implementing a socket factory.

## Summary

| ### Public methods ||
|---|---|
| ` abstract https://developer.android.com/reference/java/net/Socket` | ` https://developer.android.com/reference/org/apache/http/conn/scheme/LayeredSocketFactory#createSocket(java.net.Socket,%20java.lang.String,%20int,%20boolean)(https://developer.android.com/reference/java/net/Socket socket, https://developer.android.com/reference/java/lang/String host, int port, boolean autoClose) ` Returns a socket connected to the given host that is layered over an existing socket. |

### Inherited methods

From interface ` https://developer.android.com/reference/org/apache/http/conn/scheme/SocketFactory ` ` abstract https://developer.android.com/reference/java/net/Socket` ` https://developer.android.com/reference/org/apache/http/conn/scheme/SocketFactory#connectSocket(java.net.Socket,%20java.lang.String,%20int,%20java.net.InetAddress,%20int,%20org.apache.http.params.HttpParams)(https://developer.android.com/reference/java/net/Socket sock, https://developer.android.com/reference/java/lang/String host, int port, https://developer.android.com/reference/java/net/InetAddress localAddress, int localPort, https://developer.android.com/reference/org/apache/http/params/HttpParams params) `

Connects a socket to the given host.
` abstract https://developer.android.com/reference/java/net/Socket` ` https://developer.android.com/reference/org/apache/http/conn/scheme/SocketFactory#createSocket()() `

Creates a new, unconnected socket.
` abstract boolean` ` https://developer.android.com/reference/org/apache/http/conn/scheme/SocketFactory#isSecure(java.net.Socket)(https://developer.android.com/reference/java/net/Socket sock) `

Checks whether a socket provides a secure connection.

## Public methods

### createSocket

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public abstract Socket createSocket (Socket socket, 
                String host, 
                int port, 
                boolean autoClose)
```

Returns a socket connected to the given host that is layered over an existing socket. Used primarily for creating secure sockets through proxies.

<br />

| Parameters ||
|---|---|
| `socket` | `Socket`: the existing socket <br /> |
| `host` | `String`: the host name/IP <br /> |
| `port` | `int`: the port on the host <br /> |
| `autoClose` | `boolean`: a flag for closing the underling socket when the created socket is closed <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/net/Socket` | Socket a new socket <br /> |

| Throws ||
|---|---|
| `https://developer.android.com/reference/java/io/IOException` | if an I/O error occurs while creating the socket |
| `https://developer.android.com/reference/java/net/UnknownHostException` | if the IP address of the host cannot be determined |