Класс SocketFactory
- Прямые известные подклассы:
SSLSocketFactory
public abstract class SocketFactory extends Object
Фабрики сокетов — это простой способ захватить различные политики, связанные с создаваемыми сокетами, производя эти сокеты таким образом, который не требует специальной конфигурации кода, запрашивающего сокеты:
- Благодаря полиморфизму как фабрик, так и сокетов, различные типы сокетов могут быть использованы одним и тем же кодом приложения, просто передавая ему разные типы фабрик.
- Сами фабрики могут быть настроены с параметрами, используемыми при создании сокетов. Например, фабрики могут быть настроены так, чтобы возвращать сокеты с различными тайм-аутами сетевых операций или параметрами безопасности, которые уже сконфигурированы.
- Сокеты, возвращаемые приложению, могут быть подклассами java.net.Socket, так что они могут непосредственно предоставлять новые API для таких функций, как сжатие, безопасность, маркировка записей, сбор статистики или туннелирование через файервол.
Классы фабрик определяются механизмами конфигурации, специфичными для среды. Например, метод getDefault может возвращать фабрику, подходящую для конкретного пользователя или апплета, и фреймворк может использовать фабрику, настроенную для своих собственных целей.
- С тех пор:
- 1.4
- См. также:
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Создаёт SocketFactory. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
Socket |
createSocket() |
Создаёт незапущенный сокет. |
abstract Socket |
createSocket |
Создаёт сокет и подключает его к указанному удалённому хосту на указанном удалённом порту. |
abstract Socket |
createSocket |
Создаёт сокет и подключает его к указанному удалённому хосту на указанном удалённом порту. |
abstract Socket |
createSocket |
Создаёт сокет и подключает его к указанному номеру порта на указанном адресе. |
abstract Socket |
createSocket |
Создаёт сокет и подключает его к указанному удалённому адресу на указанном удалённом порту. |
static SocketFactory |
getDefault() |
Возвращает копию стандартной фабрики сокетов окружения. |
Подробное описание конструкторов
SocketFactory
protected SocketFactory()
SocketFactory.Подробное описание методов
getDefault
public static SocketFactory getDefault()
- Возвращает:
- стандартный
SocketFactory
createSocket
public Socket createSocket() throws IOException
- Возвращает:
- незапущенный сокет
- Исключение:
-
IOException- если сокет не может быть создан - См. также:
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 включительно. - См. также:
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- если параметр порта или localPort находится вне заданного диапазона допустимых значений портов, который составляет от 0 до 65535 включительно. - См. также:
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. - См. также:
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- если параметр порта или localPort находится вне заданного диапазона допустимых значений портов, который составляет от 0 до 65535 включительно. -
NullPointerException- еслиaddressравно null. - См. также:
© 1993, 2021, 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/17/docs/api/java.base/javax/net/SocketFactory.html