Класс SocketFactory
- java.lang.Object
-
- javax.net.SocketFactory
- Прямые известные подклассы:
SSLSocketFactory
public abstract class SocketFactory extends Object
Этот класс создаёт сокеты. Он может быть расширен другими фабриками, которые создают конкретные подклассы сокетов, предоставляя, таким образом, общий каркас для добавления общедоступной функциональности на уровне сокетов.
Фабрики сокетов — простой способ захватить различные политики, связанные с создаваемыми сокетами, создавая такие сокеты, не требуя специальной конфигурации кода, который запрашивает сокеты:
- Благодаря полиморфизму как фабрик, так и сокетов, разные виды сокетов могут использоваться одним и тем же кодом приложения, просто передавая ему разные виды фабрик.
- Сами фабрики могут быть настроены с параметрами, используемыми при создании сокетов. Например, фабрики можно настроить для возврата сокетов с различными таймаутами сетевых операций или параметрами безопасности, которые уже настроены.
- Сокеты, возвращаемые приложению, могут быть подклассами java.net.Socket, чтобы они могли напрямую предоставлять новые API для таких функций, как сжатие, безопасность, пометка записей, сбор статистики или туннелирование через брандмауэр.
Классы фабрик задаются механизмами конфигурации, специфичными для среды. Например, метод getDefault может возвращать фабрику, подходящую для конкретного пользователя или апплета, а фреймворк может использовать фабрику, настроенную для его собственных целей.
- С момента:
- 1.4
- См. также:
ServerSocketFactory
Конструкторы
| Модификатор | Конструктор | Описание |
|---|---|---|
protected | SocketFactory() | Создаёт |
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
Socket | createSocket() | Создаёт несвязанный сокет. |
abstract Socket | createSocket(String host,
int port) | Создаёт сокет и подключает его к указанному удалённому хосту на указанном удалённом порту. |
abstract Socket | createSocket(String host,
int port,
InetAddress localHost,
int localPort) | Создаёт сокет и подключает его к указанному удалённому хосту на указанном удалённом порту. |
abstract Socket | createSocket(InetAddress host,
int port) | Создаёт сокет и подключает его к указанному номеру порта на указанном адресе. |
abstract Socket | createSocket(InetAddress address,
int port,
InetAddress localAddress,
int localPort) | Создаёт сокет и подключает его к указанному удалённому адресу на указанном удалённом порту. |
static SocketFactory | getDefault() | Возвращает копию стандартной фабрики сокетов среды. |
Методы, объявленные в классе java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait Конструкторы
SocketFactory
protected SocketFactory()
Создаёт SocketFactory.
Методы
getDefault
public static SocketFactory getDefault()
Возвращает копию стандартного сокета фабрики среды.
- Возвращает:
- стандартную
SocketFactory
createSocket
public Socket createSocket()
throws IOException Создаёт несвязанный сокет.
- Возвращает:
- несвязанный сокет
- Выбрасывает:
-
IOException- если сокет не может быть создан - См. также:
-
Socket.connect(java.net.SocketAddress),Socket.connect(java.net.SocketAddress, int),Socket()
createSocket
public abstract Socket createSocket(String host,
int port)
throws IOException,
UnknownHostException Создаёт сокет и подключает его к указанному удалённому хосту на указанном удалённом порту. Этот сокет настраивается с использованием параметров сокета, установленных для этой фабрики.
Если есть менеджер безопасности, его метод checkConnect вызывается с адресом хоста и port в качестве аргументов. Это может привести к SecurityException.
- Параметры:
-
host- имя хоста сервера для подключения илиnullдля адреса обратной связи. -
port- порт сервера - Возвращает:
- созданный
Socket - Выбрасывает:
-
IOException- если произошла ошибка ввода-вывода при создании сокета -
SecurityException- если менеджер безопасности существует, и его методcheckConnectне разрешает операцию. -
UnknownHostException- если хост не известен -
IllegalArgumentException- если параметр порта находится вне указанного диапазона допустимых значений портов, который находится между 0 и 65535 включительно. - См. также:
-
SecurityManager.checkConnect(java.lang.String, int),Socket(String, int)
createSocket
public abstract Socket createSocket(String host,
int port,
InetAddress localHost,
int localPort)
throws IOException,
UnknownHostException Создаёт сокет и подключает его к указанному удалённому хосту на указанном удалённом порту. Сокет также будет привязан к локальному адресу и порту. Этот сокет настраивается с использованием параметров сокета, установленных для этой фабрики.
Если есть менеджер безопасности, его метод checkConnect вызывается с адресом хоста и port в качестве аргументов. Это может привести к SecurityException.
- Параметры:
-
host- имя хоста сервера для подключения илиnullдля адреса обратной связи. -
port- порт сервера -
localHost- локальный адрес, к которому привязан сокет -
localPort- локальный порт, к которому привязан сокет - Возвращает:
- созданный
Socket - Выбрасывает:
-
IOException- если произошла ошибка ввода-вывода при создании сокета -
SecurityException- если менеджер безопасности существует, и его методcheckConnectне разрешает операцию. -
UnknownHostException- если хост не известен -
IllegalArgumentException- если параметр порта или локального порта находится вне указанного диапазона допустимых значений портов, который находится между 0 и 65535 включительно. - См. также:
-
SecurityManager.checkConnect(java.lang.String, int),Socket(String, int, java.net.InetAddress, int)
createSocket
public abstract Socket createSocket(InetAddress host,
int port)
throws IOException Создаёт сокет и подключает его к указанному порту на указанном адресе. Этот сокет настраивается с использованием параметров сокета, установленных для этой фабрики.
Если есть менеджер безопасности, его метод checkConnect вызывается с адресом хоста и port в качестве аргументов. Это может привести к SecurityException.
- Параметры:
-
host- хост сервера -
port- порт сервера - Возвращает:
- созданный
Socket - Выбрасывает:
-
IOException- если произошла ошибка ввода-вывода при создании сокета -
SecurityException- если менеджер безопасности существует, и его методcheckConnectне разрешает операцию. -
IllegalArgumentException- если параметр порта находится вне указанного диапазона допустимых значений портов, который находится между 0 и 65535 включительно. -
NullPointerException- еслиhostравен null. - См. также:
-
SecurityManager.checkConnect(java.lang.String, int),Socket(java.net.InetAddress, int)
createSocket
public abstract Socket createSocket(InetAddress address,
int port,
InetAddress localAddress,
int localPort)
throws IOException Создаёт сокет и подключает его к указанному удалённому адресу по указанному удалённому порту. Сокет также будет привязан к локальному адресу и порту, указанным. Сокет настраивается с помощью опций сокета, установленных для этого фабрики.
Если существует менеджер безопасности, его метод checkConnect вызывается с адресом хоста и port в качестве аргументов. Это может привести к исключению SecurityException.
- Параметры:
-
address- сетевой адрес сервера -
port- порт сервера -
localAddress- сетевой адрес клиента -
localPort- порт клиента - Возвращает:
- созданный
Socket - Исключения:
-
IOException- если при создании сокета произошла ошибка ввода-вывода -
SecurityException- если менеджер безопасности существует и его методcheckConnectне разрешает операцию. -
IllegalArgumentException- если параметр порта или параметр локального порта находится вне указанного диапазона допустимых значений портов, который составляет от 0 до 65535 включительно. -
NullPointerException- еслиaddressравно null. - См. также:
-
SecurityManager.checkConnect(java.lang.String, int),Socket(java.net.InetAddress, int, java.net.InetAddress, int)
© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/java.base/javax/net/SocketFactory.html